C语言中连接器不是将目标文件,启动代码和库代码这3部分合并成可执行文件吗,那为什么又说在可执行文件中链接的结果是得到“基本名.exe”,问题是链接器不是链接目标文件吗,咋么又可以链接可执行问价,求解答
obj文件是生成exe文件之前的中间文件,最后合并生成exe。
连接器执行后得到的是目标文件,这个目标文件是针对CUP来说的,是CPU可识别的二进制文件。
---------白话说明----------
编译:
C语言代码是高级语言代码,是符合人的思维习惯的代码,程序员容易识别和理解,但是CPU只认识几百个二进制形式的指令。这就需要一个工具,将C语言代码转换成CPU能够识别的二进制指令,这个过程称为编译(Compile),编译生成的文件称为目标文件(.obj),目标文件实际上只是中间文件,不是最终的可执行程序。
链接:
链接(Link)其实就是一个“打包”的过程,它将所有二进制形式的目标文件和系统组件(包括系统资源及指令)组合成一个可执行文件,也就是可执行文件