1)用户点击编译程序时,编译程序将C++源代码转换成目标代码,目标代码通常由 机器指令和记录如何将程序加载到内存的信息组成。其后缀通常为.obj或.o;
2)目标文件中存储的只是用户所编写的代码的转换结果,并不包括底层的操作指令,不能直接运行。例如程序包 iostream 实现了所有有关输入和输出的操作,并且其所有实现操作的机器代码都放在一个库中,库是对已实现的程序经编译后所产生的代码集合,用户可以在程序中直接使用库。
3)一个被称为链接程序的特殊程序将用户程序的目标文件和iostream库中必要代码链接起来生成一个可执行文件,其后缀通常为.exe 。这个可执行文件中包含了执行该用户程序所需要的所有机器代码,其过程大体如下所示: