您能否建议是否可以从正在执行的程序中访问LLVM JIT API?我的目标是能够动态地操作(添加/更新/删除)类,方法和数据。
最好,我会留在Clang。欢迎任何想法。
答案 0 :(得分:3)
这似乎很容易。在JIT中,您可以提供任意外部函数与任意地址之间的映射。所以,基本上你只需要在你的IR中定义一些函数进行JIT,将它绑定到外部世界的地址,这将为你制作一个技巧。
特别是http://llvm.org/doxygen/classllvm_1_1ExecutionEngine.html#a805704b52a327cc6b37aebf9cba14169是你应该在这里使用的功能。