c – 有和没有 *** 作系统的两个空的主要{}程序有什么区别?

c – 有和没有 *** 作系统的两个空的主要{}程序有什么区别?,第1张

概述当使用C/C++编译器使用OS(例如 linux)和没有 *** 作系统(例如嵌入式DSP目标)编译目标时,两个程序main {}之间有什么区别?我有兴趣知道编译器在有 *** 作系统的时候有所不同.两种情况下,编译器/语言运行时间有何不同? 实际上,链接器在打包程序以在 *** 作系统上运行时执行不同的工作,而不是单独在裸机上运行程序.编译器仅产生由针对主机架构的指令组成的目标文件,并且这些块后来被链接器组合和打包. 当使用C/C++编译器使用OS(例如 linux)和没有 *** 作系统(例如嵌入式DSP目标)编译目标时,两个空程序main {}之间有什么区别?我有兴趣知道编译器在有 *** 作系统的时候有所不同.两种情况下,编译器/语言运行时间有何不同?解决方法 实际上,链接器在打包程序以在 *** 作系统上运行时执行不同的工作,而不是单独在裸机上运行程序.编译器仅产生由针对主机架构的指令组成的目标文件,并且这些块后来被链接器组合和打包.

旨在在 *** 作系统上运行的程序必须具有一定的二进制结构 – 这就是可执行格式的发挥.这样的格式可能指示程序应该在开始时有几个标题部分,然后代码应该遵循. *** 作系统加载程序的工作是解释这个结构,然后用代码段包含的指令流来给cpu提供.

相反,要在裸机上运行的程序通常没有特殊的结构,可以直接馈送到cpu.

总结

以上是内存溢出为你收集整理的c – 有和没有 *** 作系统的两个空的主要{}程序有什么区别?全部内容,希望文章能够帮你解决c – 有和没有 *** 作系统的两个空的主要{}程序有什么区别?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1249601.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存