【发布时间】:2018-04-01 18:03:55
【问题描述】:
我是计算机科学专业的学生,我有几个与编译 c/c++ 代码的过程有关的问题。一个问题是,当你编译时,它是编译成汇编程序还是机器码?同时,这个汇编/机器代码是操作系统的版本吗?我最后一个问题的原因是,当你编译时,你的程序可以在同一个操作系统的不同cpu上执行。除此之外,您的程序不能在另一个操作系统中执行。这让我想知道您为操作系统生成的可执行文件中有什么以及操作系统如何处理它以便在不同的 cpu 中执行它。 在此先感谢,并对这么多问题感到抱歉。
【问题讨论】:
-
你试过谷歌吗?
-
第一步是决定你要使用哪种语言(没有语言叫C/C++。C和C++是两种不同的语言)。
-
一个正确的答案需要至少一本完整的教科书。简短版本:(1)它最终成为机器语言。编译器是发出汇编语言并将其提供给单独的汇编程序,还是直接发出机器语言,是编译器的实现细节,您无需担心。 (2) 生成的机器语言的一些细节确实取决于操作系统,但 CPU 更为重要。大多数情况下,一台计算机中的所有 CPU 都是同一种种类的 CPU,因此程序可以在其中任何一个上运行而无需修改。
标签: c++ c compilation system