LLVM:实现目标代码的链接
LLVM: Implement linking of the object code
我在追万花筒tutorial。发出目标代码非常简单,但现在我想实现链接步骤,以便我的玩具编程语言可以直接编译成二进制文件(因此不需要 clang
用法)。我如何使用 LLVM 实现此目的?
至于 "no clang
necessary":LLVM 有一个名为 LLD
的链接器,它是 LLVM 项目的一部分。根据您安装 LLVM 的方式,它应该是发行版的一部分。
LLD参考你安装的版本以及使用策略。然后您将能够定义您的 make
或 cmake
食谱。
关于您的核心问题,以下是我用自己的语言完成的一般制作流程:
- 编译源 -> output.ll(LLVM 程序集)
- 优化程序集 -> output.oll(使用
opt
)
- 生成目标程序集 -> output.s
- Assemble 反对(使用
as
)-> output.o
- Link(我使用的是
clang
,但这可以与 lld
交换)
我在追万花筒tutorial。发出目标代码非常简单,但现在我想实现链接步骤,以便我的玩具编程语言可以直接编译成二进制文件(因此不需要 clang
用法)。我如何使用 LLVM 实现此目的?
至于 "no clang
necessary":LLVM 有一个名为 LLD
的链接器,它是 LLVM 项目的一部分。根据您安装 LLVM 的方式,它应该是发行版的一部分。
LLD参考你安装的版本以及使用策略。然后您将能够定义您的 make
或 cmake
食谱。
关于您的核心问题,以下是我用自己的语言完成的一般制作流程:
- 编译源 -> output.ll(LLVM 程序集)
- 优化程序集 -> output.oll(使用
opt
) - 生成目标程序集 -> output.s
- Assemble 反对(使用
as
)-> output.o - Link(我使用的是
clang
,但这可以与lld
交换)