相当于LLVM IR的#include

Jon*_*eld 5 llvm llvm-ir

我发现自己有很多有用的函数和常量用LLVM的IR编写.我可以通过将它与手写IR结合使用这个伪库,前提是手写的IR以可能冗长的声明列表开头.我知道IR不一定被设计为通用编程语言来编写内容.

这就像在一个文件中编写大量C函数,然后在任何使用它们的地方重新声明它们.在C中,这可以使用#include和头文件.这并不完美,但它反复写出原型.

什么是在IR中实现类似的最不讨厌的方式?它只需要一遍又一遍地打败这些东西(我目前以复制和粘贴的方式做)并使用cat作为自定义构建步骤.

谢谢!

caa*_*515 3

遗憾的是 LLVM IR 中没有这样的东西。

LLVM IR 的设计目的并不是为了手写大量数据。因此它没有#include机制。处理这类事情的工作就落在了使用 LLVM API 的编译器身上。

但是,如果您想达到相同的效果,您可以做的一件事是尝试查看其他人的预处理器是否适合您想要执行的操作,或者自己编写自定义预处理器。