永发信息网

Linux下的gcc编译后生成Linux下的可执行文件,window下gcc编译后是exe文件,为什么不一样啊?是怎么做到的

答案:3  悬赏:0  手机版
解决时间 2021-02-19 16:53
Linux下的gcc编译后生成Linux下的可执行文件,window下gcc编译后是exe文件,为什么不一样啊?是怎么做到的
最佳答案
首先,这win和Linux下的gcc功能是一样的,实际的gcc.exe和linux下的gcc这两个文件不是一样的,他们毕竟需要在工作在不同的平台上,而且他们做的一些工作是有区别的。
编译过程是把源文件翻译成机器码,然后链接成一个整体,拼接成一个文件。不管是win下的exe还是Linux下的ELF,都是按照一定规范来的,比如头部放什么,尾部放什么,中间又存哪些信息等。但是,如果要编译出正确的可执行的文件,不同的操作系统里就必须按照不同的规范来组织这个文件。
这些文件的执行过程,并不是说它们可以直接执行,执行的时候,系统把它们从磁盘上,读到内存中,经过一系列的前期工作,才可以最终执行起来,这个前期过程都是操作系统来搞定的。
你不应该问gcc是怎么做到的,而应该问gcc为什么需要这样。如果你需要知道细节,去看《程序员的自我修养》
全部回答
你认为这两个gcc是一模一样的吗?
-e 只激活预处理,这个不生成文件,你需要把它重定向到一个输出文件里面. 例子用法: gcc -e hello.c > pianoapan.txt gcc -e hello.c | more 慢慢看吧,一个hello word 也要与处理成800行的代码
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
多玩yy上注册个号,在多玩上登陆上了,但进入
你好 夫妻买房贷款为什么必须夫妻俩在同一银
佳汇房产(居敬路)我想知道这个在什么地方
“中华文化的传承与创新”专题研讨会于7月11
泰山女儿茶属什么茶系?
SHOWINESS我想知道这个在什么地方
如何更专业的使用Chrome开发者工具
苹果6刮到显示屏连接器还能修好么
下身缝线的地方有针刺的感觉
平政桥我想知道这个在什么地方
12306 退纸质车票后退款什么时候到账
特岗教师怎样分配啊?
我叫赵雪珂,想有很酷个艺术签名,哪位大师帮
用文字描写这个动漫图片中的少女的样貌,表情,
坚果类零食有哪些
推荐资讯
求上古神兵的名字
大家知道哪家银行 存定期 有东西送吗
音频文件用什么格式保存最小,占最小空间
国家是如何陪赔赏,农村自建房酒店的
北京特9路公交车能到花乡桥客运站吗?在哪个
现在注册餐饮公司对地址有什么要求,求解
求一部法国电影,女主角比男主角大。
只因为你/.忘乎所以ゝ 的情侣名 跟这个差不多
凤达酒店在哪里啊,我有事要去这个地方
对于0<x<2的一切x的值,不等式x²+mx+6m
经济特区的设立有何作用
缺词填空(共10空;每空1分,计10分)The mob
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?