VC++程序编译链接的原理与过程(QQ dhms)

Posted on 2010-11-30 21:41  严武  阅读(883)  评论(0编辑  收藏  举报

从这个输出中,我们可以看到可执行程序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所示。

Copyright © 2024 严武
Powered by .NET 8.0 on Kubernetes