【发布时间】:2021-12-17 12:53:32
【问题描述】:
我正在阅读this 教程。只有链接阶段使编译c/c++代码系统依赖吗?汇编语言代码生成不是也依赖于系统吗?在这种情况下,系统、机器和处理器不是一回事吗?
【问题讨论】:
-
编译和链接程序所涉及的一切都是系统相关的。该标准仅描述语言,而不是您如何编译和执行它。
-
@Barmer 链接阶段是否使用了 ABI?还是从编译阶段开始?
-
目标文件的格式由 ABI 指定。调用链接器的命令及其参数取决于实现。
-
Clang 不直接转换为汇编,而是将与系统无关的 LLVM 字节码作为中间步骤,然后将其转换为汇编。
-
@SomOneElse 是的,您可以从 clang 中获取 *.ll 文件,它是 -emit-llvm
标签: c++ c compilation