llvm各种格式文件转换图

llvm主要具有以下几种格式的文件,其转换和关系图图中所示。

1) a.c,源代码。

2) a.bc,llvm的字节码的二进制形式。

3) a.ll,llvm字节码的文本形式。

4) a.s,机器汇编码表示的汇编文件。

5) a.out,可执行的二进制文件。

llvm各种格式文件转换图_第1张图片

使用clang可以直接把源代码(a.c)编译为本机可执行文件(a.out)。

使用clang -emit-llvm -c可以把源代码(a.c)转换为llvm字节码的二进制格式文件(a.bc),并可以使用lli解释执行。

使用clang -emit-llvm -S可以把源代码(a.c)转换为llvm字节码的文本格式文件(a.ll)。

使用llc可以把字节码的二进制格式文件(a.bc)转换为本地的汇编文件(a.s)。

a.ll和a.bc之间可以通过llvm-as和llvm-dis命令相互转换。

你可能感兴趣的:(llvm各种格式文件转换图)