是否可以动态生成在lli启动的LLVM内执行的字节码?

是否可以动态生成在lli启动的LLVM内执行的字节码?,llvm,jit,dynamic-code,Llvm,Jit,Dynamic Code,我目前正在评估可能的工具,以便为一个玩具编译器项目提前动态生成机器代码 编译器应该能够将源代码转换为可运行的字节码,以便以后可以将代码动态添加到运行的字节码中 我想知道这在LLVM中是否可行,也就是说,是否可以扩展(或修改)LLVM JIT编译器/解释器lli运行的LLVM字节码?确实有可能,但您可能希望将LLVM构建为一个动态库。您是指编写我自己的使用LLVM执行引擎的VM(例如,用C++编写)吗?这是另一种选择当然,你可以动态地将lli链接到其余的LLVM库,这样你生成的代码就可以使用相同的

我目前正在评估可能的工具,以便为一个玩具编译器项目提前动态生成机器代码

编译器应该能够将源代码转换为可运行的字节码,以便以后可以将代码动态添加到运行的字节码中


我想知道这在LLVM中是否可行,也就是说,是否可以扩展(或修改)LLVM JIT编译器/解释器lli运行的LLVM字节码?

确实有可能,但您可能希望将LLVM构建为一个动态库。您是指编写我自己的使用LLVM执行引擎的VM(例如,用C++编写)吗?这是另一种选择当然,你可以动态地将
lli
链接到其余的LLVM库,这样你生成的代码就可以使用相同的LLVM API。这确实是可能的,但是你可能想把LLVM构建成一个动态库。你是说写我自己的VM(比如说,用C++)这使用了llvm的ExecutionEngine?这是另一个选项(无论如何都不会超过10行代码)。当然,您可以动态地将
lli
与其余llvm库链接,这样您生成的代码就可以使用相同的llvm API