由C语言开发的程序编译后得到可执行代码是CPU可直接执行的机器指令构成的么?

2020-10-10 科技 116阅读
不是。不能。
你见过同一个exe文件(或者其他种类的可执行文件)能在多少个操作系统平台多少架构的cpu上运行?反正我所见过的可执行文件都只能在某一类特定平台上运行。
可执行文件的格式并不只有一种,例如Windows下的 .exe 文件通常称为 PE 文件,Linux 的可执行的二进制文件通常是 ELF 文件。它们都附加有特定的信息,而不是完全由机器指令构成的
C语言的跨平台主要是说C代码可以编译成任意一种格式,采用任意一种指令集,而程序的行为不变。至于让同一个可执行文件可以在不同平台上都能不加改动地运行,那是虚拟机的任务,而不是语言所能做到的
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com