VC++程序编译链接的原理与过程
2013-05-04 20:06
369 查看
我们在EX10这个工程中,选择菜单中「Build」→「Rebuild All」,重新编译所有的工程文件,可以看到如下输出:
从这个输出中,我们可以看到可执行程序EX10.exe的产生,经过了两个步骤:首先,C++编译器对工程中的三个源文件fish.cpp、animal.cpp单独进行编译(Compiling…)。在编译时,先由预处理器对预处理指令(#include、#define和#if)进行处理,在内存中输出翻译单元(一种临时文件)。编译器接受预处理的输出,将源代码转换成包含机器语言指令的三个目标文件(扩展名为obj的文件):EX10.obj、fish.obj、animal.obj.注意,在编译过程中,头文件不参与编译;在EX10工程的Debug目录下,我们可以看到编译生成的obj文件。接下来是链接过程(Linking…),链接器将目标文件和你所用到的C++类库文件一起链接生成EX10.exe.整个编译链接的过程如图2.18所示。
好了,到此C++的知识就讲解完毕了。当然C++的内容还有很多,但这一章的内容,对于我们从事VC++开发已经足够了,还有部分C++内容,会在后面的章节中讲解。休息一下,然后继续我们的VC++之旅。
从这个输出中,我们可以看到可执行程序EX10.exe的产生,经过了两个步骤:首先,C++编译器对工程中的三个源文件fish.cpp、animal.cpp单独进行编译(Compiling…)。在编译时,先由预处理器对预处理指令(#include、#define和#if)进行处理,在内存中输出翻译单元(一种临时文件)。编译器接受预处理的输出,将源代码转换成包含机器语言指令的三个目标文件(扩展名为obj的文件):EX10.obj、fish.obj、animal.obj.注意,在编译过程中,头文件不参与编译;在EX10工程的Debug目录下,我们可以看到编译生成的obj文件。接下来是链接过程(Linking…),链接器将目标文件和你所用到的C++类库文件一起链接生成EX10.exe.整个编译链接的过程如图2.18所示。
好了,到此C++的知识就讲解完毕了。当然C++的内容还有很多,但这一章的内容,对于我们从事VC++开发已经足够了,还有部分C++内容,会在后面的章节中讲解。休息一下,然后继续我们的VC++之旅。
相关文章推荐
- VC++程序编译链接原理与过程
- VC++程序编译链接的原理与过程(QQ dhms)
- VC++程序编译链接的原理与过程
- VC++程序编译链接的原理与过程(QQ dhms)
- VC++程序的编译链接过程
- Linux程序编译执行原理之一:预处理-编译-汇编-链接过程分析
- VC++编译链接原理与过程
- VC如何在编译链接程序过程中在输出窗口看到链接的顺序
- 【编译原理】程序的编译链接执行过程
- gcc程序的编译过程和链接原理
- 程序的编译和链接过程
- gtk程序编译和链接过程
- Linux中c程序的编译链接过程2017/12/10
- c++程序链接的过程原理详解
- 总结extern “C”时引发的血案——c++的“编译、链接”原理与过程
- VC2008编译wxWidgets程序链接错误(GDI相关) from http://blog.csdn.net/flywithdream/article/details/5879680
- 【Linux】使用vim编写一个程序,gcc查看预处理、编译、汇编、链接过程
- 预处理标识符,预处理与函数的相关的区别;程序的编译与链接的过程
- C程序的编译和链接过程
- 程序编译,链接过程