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

 我来答
木澂
高粉答主

2020-06-01 · 繁杂信息太多,你要学会辨别
知道答主
回答量:46
采纳率:100%
帮助的人:1.3万
展开全部

不能。.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文件

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式