提问人:phqb 提问时间:11/10/2023 更新时间:11/10/2023 访问量:53
如何使用 LLVM 以编程方式编译 C 源文件
How to use LLVM to programatically compile C source files
问:
我的程序(用 C 编写)通过使用函数以编程方式执行 C 编译器 (clang) 命令,动态生成许多 C 源文件并将其编译为共享库(.so 文件)。然后,使用 将编译的 .so 文件加载到程序中。你可以把它看作是一个朴素的JIT编译器。这个想法是从本演示文稿的第 5 页借来的。system()
dlopen()
生成到磁盘并编译我的 C 源文件的时间从 50 到 100 毫秒不等。 AFAIK,通过执行外部程序会产生开销,而 clang 也有启动开销。我减少开销的想法是使用 LLVM 作为库来编译 C 源文件。但我没有使用 LLVM 库的经验。system()
我的问题是:如何使用LLVM库复制命令?clang -O3 -shared <other options> <source file>.c -o <binary file>.so
答: 暂无答案
评论