专业编程基础技术教程

网站首页 > 基础教程 正文

C++编程:文件的编译、链接和运行 c++编译链接执行全过程

ccvgpt 2024-12-29 01:51:57 基础教程 2 ℃

我们之前写好C++代码之后,是直接在Visual Studio里借助“本地windows调试器”运行的;而如果真正开发一个软件,显然不能总是依赖VS的调试器运行。真正应用中,我们最终要得到一个“可执行文件”,一般以.exe作为扩展名,双击就可以运行程序了。

怎样转换得到可执行文件呢?之前已经提到,C++是一种编译型语言,在运行之前需要进行编译和链接。我们现在就用上节写好的Hello World代码,把这个过程具体说明一下。

C++编程:文件的编译、链接和运行 c++编译链接执行全过程

首先我们可以在Visual Studio左侧的“解决方案资源管理器”里,右键点击创建的项目HelloWorld,选择“在文件资源管理器中打开文件夹”,就会进入保存项目的文件夹。

这里看到的helloworld.cpp,就是我们写好的C++源代码文件。其它的文件都是VS生成的项目文件。另外还有一个x64文件夹,是之前我们在本地进行调试运行时生成的,里面有一个Debug子文件夹,保存了调试运行的相关信息和日志。如果我们右键HelloWorld项目名,然后选择“清理”,Debug里面就只剩下一些日志和空文件了。

源代码首先需要编译(compile),得到目标代码。编译器当然是由Visual Studio提供的。我们首先点击一下源代码文件,然后在VS的菜单栏中选择“生成”-> “编译”(快捷键Ctrl+F7),就可以进行编译了。在下方的“输出”窗口内,可以看到编译的结果信息。

编译完成之后,再回到之前打开的项目文件夹,找到x64下的Debug目录,点进去之后就会发现多了几个文件,除了一些调试工具外,最重要的就是一个helloworld.obj,这就是编译生成的目标代码文件。

目标文件就是计算机能够直接运行的机器码。但是仅有helloworld.cpp源代码转换的机器码还不够。因为我们用到了iostream中的cout和cin对象进行输入输出操作,这就需要把iostream中对应的目标代码也提出来,组合成一个完整的、能直接运行的机器代码。这就是所谓的“链接”(link)过程,结果就会生成一个可执行文件。

在VS中,我们可以点击工具栏“生成” –> “生成HelloWorld”(快捷键Ctrl+B);也可以直接右键HelloWorld项目名选择“生成”。在“输出”窗口可以清楚地看到,扩展名为.exe的可执行文件已经生成了。

在对应的目录找到这个文件,双击运行,我们会发现跟之前在调试器中的运行结果是一样的,可以直接在窗口中显示“Hello World!”,回车就会退出。这个.exe文件可以复制到任何位置,直接双击运行程序。

最近发表
标签列表