如何使 llvm .bc 文件可执行?
How to make llvm .bc file executable?
我创建了一种玩具语言,可以生成 IR 代码并使用 WriteBitcodeToFile(C API)将该代码写入二进制文件。结果是一个 my-file.bc 文件。
在这个文件中,我定义了一个不带参数的 main() 函数,并且 return 是一个 int64(我是否应该将 return 类型更改为字节)。如何使此 .bc 文件成为可执行文件。我是 运行 Linux.
弗雷德里克
可以使用 lli 命令执行 bc 文件。但是,这不会创建独立的可执行产品。
始终可以选择使用 llc 编译为程序集,您可以从中生成可执行文件。
可以用llc生成目标文件,然后用GCC生成可执行文件:
llc -filetype=obj my-file.bc
gcc my-file.o
./a.out
您可以在 http://llvm.org/docs/CommandGuide/llc.html 上阅读有关 llc 的更多信息。
我创建了一种玩具语言,可以生成 IR 代码并使用 WriteBitcodeToFile(C API)将该代码写入二进制文件。结果是一个 my-file.bc 文件。
在这个文件中,我定义了一个不带参数的 main() 函数,并且 return 是一个 int64(我是否应该将 return 类型更改为字节)。如何使此 .bc 文件成为可执行文件。我是 运行 Linux.
弗雷德里克
可以使用 lli 命令执行 bc 文件。但是,这不会创建独立的可执行产品。
始终可以选择使用 llc 编译为程序集,您可以从中生成可执行文件。
可以用llc生成目标文件,然后用GCC生成可执行文件:
llc -filetype=obj my-file.bc
gcc my-file.o
./a.out
您可以在 http://llvm.org/docs/CommandGuide/llc.html 上阅读有关 llc 的更多信息。