二进制生成从LLVM

binary generation from LLVM

本文关键字:LLVM 二进制      更新时间:2023-10-16

如何从LLVM的c++端生成可执行二进制文件?

我目前正在编写一个玩具编译器,我不太确定如何从IR创建可执行文件的最后一步。

我目前看到的唯一解决方案是写出位码,然后使用system或类似的方法调用llc。是否有一种方法来做到这一点,从c++接口代替?

这似乎是一个常见的问题,但我找不到任何关于它的

LLVM不提供执行此任务所需的链接器。它只能作为汇编程序写出来,然后调用系统链接器来处理它。您可以查看llvm-ld的源代码来了解它是如何完成的。