我有以下代码和命令。
==> main.c <==
/* vim: set noexpandtab tabstop=2: */
#include <stdio.h>
void print();
int main() {
print();
return 0;
}
==> print.c <==
/* vim: set noexpandtab tabstop=2: */
#include <stdio.h>
void print() {
puts("Hello World!");
}
$ clang -c -emit-llvm -o main.bc main.c
$ clang -c -emit-llvm -o print.bc print.c
$ llvm-link -o main1.bc main.bc print.bc
$ lli main1.bc
Hello World!
但是,我不确定应广泛使用的文件扩展名是什么。
我有main1.bc
和main.bc
,都具有.bc
扩展名。但是,main1.bc
可以与lli一起运行,并且由llvm-link生成。因此,最好使用main.bc
和print.bc
来区分它。
有人能让我知道公认的文件扩展名标准和推荐的命令行工作流程吗?谢谢。
答案 0 :(得分:2)
llvm-link
工具对LLVM位代码进行操作并输出相同的位代码,因此main.bc
和print.bc
之间没有区别。
文本LLVM IR的规范扩展名-.ll
,编译为一个-.bc
。