后缀为.obj和.exe的二进制文件都可以直接运行吗??

发布网友 发布时间:2022-03-17 21:07

我来回答

1个回答

热心网友 时间:2022-03-17 22:36

不能。.exe文件可直接运行,.obj文件不能运行。

因为.exe属于可执行文件,.obj文件只是源代码生成可执行文件的过程中生成的过程文件。

在计算机DOS下,生成一个可执行文件,需要用编译器将源程序编译为obj文件,再用链接器将obj文件链接成exe文件。只有可执行文件才能直接运行。可执行文件还包括.sys文件 .com等类型文件。



拓展资料:

.obj文件与.exe文件的区别与联系:

1、obj里存的是编译后的代码跟数据,并且有名称,所以在连接时会出现未解决的外部符号。当

连成exe后便不存在名称的概念了,只有地址。

lib就是一堆obj的组合。   编译器会链接一些常用的库,其它的需要你自己指定。

2、目标文件,一般是程序编译后的二进制文件,通过链接器和资源文件链接就成可执行文件了。OBJ只给出了程序的相对地址,而可执行文件是绝对地址。CPP对应的二进制代码格式obj,是未经重定位的。

3、obj 文件和exe 文件都是二进制数据文件,其中obj 文件是COFF 格式,exe 文件时PE 格式。


参考资料来源:百度百科-可执行文件

参考资料来源:百度百科-编译

参考资料来源:百度百科-obj文件

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com