在阅读了网站上的一些答案并查看了一些源代码后,我认为编译器将高级语言(例如 C++)直接转换为机器码,因为计算机本身不需要将其转换为汇编,它仅将其转换为程序集供用户查看代码,并在需要时可以对代码进行更多控制。
但是这是在我的一张讲义上找到的,所以如果有人能进一步解释并纠正我,如果我错了,或者下面的截图,我将不胜感激。
最佳答案
您的幻灯片大部分是错误的...
汇编代码和机器代码之间存在一对一的映射。汇编是信息的文本表示,机器代码是二进制表示。
然而,有些机器支持额外的汇编指令,但生成的汇编代码中包含哪些指令仍然是在编译时确定的,而不是运行时。但一般来说,这取决于系统中的处理器(intel、amd、ti、nvidia 等),而不是您购买整个系统的制造商。
关于c++ - 将高级语言编译成机器码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24964836/