我对使用C语言创建的.obj文件感到困惑。它们是否包含机器代码并且是二进制语言的机器代码,因为众所周知机器只能理解二进制语言。而且,我对机器代码的思考是它是一组二进制语言的机器指令(我可能错了)。请解释一下。
答案 0 :(得分:3)
目标文件是包含目标代码的文件,意味着可重定位格式的机器代码通常不能直接执行。 .obj 是链接器(以及必要的库( .h )文件)使用的编译对象文件,用于创建可执行文件。然后将可执行文件加载到内存中,以便使用加载程序执行。
请阅读以下内容以获取更多信息 - What is compiler, linker, loader?