【发布时间】:2010-01-04 13:42:23
【问题描述】:
编译器是把代码编译成汇编语言更好,还是直接输出二进制机器码更好?
我能想到的汇编语言的优点:无需学习目标文件格式,易于调试后端。
二进制的优点:编译速度更快。这有多重要?假设使用了 Gnu 汇编器(除了其他任何东西,可以合理地假设它在大多数机器上都可用),是否需要大量时间来汇编一百万行代码?
汇编器会隐藏的各种操作系统之间的目标文件格式是否存在差异?
还有没有其他我没有想到的优势?
【问题讨论】:
-
GNU 汇编器一次性工作。它与生成的二进制文件的大小成线性关系。除非你的编译器是非常基础的并且根本没有进行困难的优化,否则 GNU 汇编器所花费的时间在总编译时间中可以忽略不计。
标签: compiler-construction assembly code-generation