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

 我来答
handsoul
推荐于2016-02-15 · TA获得超过955个赞
知道小有建树答主
回答量:500
采纳率:0%
帮助的人:752万
展开全部
首先,这win和Linux下的gcc功能是一样的,实际的gcc.exe和linux下的gcc这两个文件不是一样的,他们毕竟需要在工作在不同的平台上,而且他们做的一些工作是有区别的。
编译过程是把源文件翻译成机器码,然后链接成一个整体,拼接成一个文件。不管是win下的exe还是Linux下的ELF,都是按照一定规范来的,比如头部放什么,尾部放什么,中间又存哪些信息等。但是,如果要编译出正确的可执行的文件,不同的操作系统里就必须按照不同的规范来组织这个文件。
这些文件的执行过程,并不是说它们可以直接执行,执行的时候,系统把它们从磁盘上,读到内存中,经过一系列的前期工作,才可以最终执行起来,这个前期过程都是操作系统来搞定的。
你不应该问gcc是怎么做到的,而应该问gcc为什么需要这样。如果你需要知道细节,去看《程序员的自我修养》
le284
2011-03-09 · 还没有填写任何签名呢
le284
采纳数:315 获赞数:996

向TA提问 私信TA
展开全部
这就涉及到两大操作系统内核问题了... 具体不懂!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tuwulin365
2011-03-09 · TA获得超过4644个赞
知道大有可为答主
回答量:1.3万
采纳率:100%
帮助的人:6377万
展开全部
你认为这两个gcc是一模一样的吗?
追问
应该不是完全一样的吧!可是不一样在哪呢?
追答
你应该去看源代码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式