我正在阅读关于对象代码的文章(我不是在问什么是对象代码),当我遇到以下问题时,我感到困惑:
*阅读汇编程序时:
是一种汇编语言程序,它通过将操作和寻址方式的助记符和语法的组合转换为等价的数字形式来创建目标代码。
在阅读关于object code本身的文章时:
在计算中,目标代码或目标模块是编译器的乘积。
但是,在研究编译器的组件时,我读过的文章都没有真正将汇编器作为编译器的一部分,比如
那么,如果汇编程序“不是编译器的一部分”,那么目标代码怎么可能是“编译器的产品”呢?
发布于 2018-06-03 19:23:30
以下任一项:
无论哪种情况,当编译器退出时,您所拥有的都是目标代码,为链接器做好了准备。
注意你的图片也没有显示链接器,但是没有它你不会得到一个目标程序。
发布于 2018-06-04 18:51:05
“汇编源代码”(pre-object code gen)等同于编译器(在您的图表中)生成的中间代码或中间表示(IR)。然后,它通过遍历来优化和生成目标机器ABI原生的目标代码。
IR是否用于生成目标代码或其他IR (例如解释器可使用的IR)取决于编译器的设计和意图。
在图中看不到“assembler”这个词,就是试图将图的语义解析成语法糖。
https://stackoverflow.com/questions/50665482
复制相似问题