llgo编译器是基于LLVM的仅用Go语言前端,用它可以把Go语言程序编译成LLVM汇编码。
前提是需要下载llgo二进制文件或者通过源码来构建llgo,并且把它的路径添加到PATH环境变量中。
1. 详细步骤
(1)创建Go源码文件,如通过llgo生成LLVM汇编码。创建test.go:
$ cat test.go
package main
import "fmt"
func main() {
fmt.Println("Test Message")
}
(2) 然后用llgo获得LLVM汇编码:
$llgo -dump test.go
; ModuleID = 'main'
target datalayout = "e-p:64:64:64..."
target triple = "x86_64-unknown-linux"
%0 = type { i8*, i8* }
...
2. 原理
llgo编译器是Go语言的前端,它用test.go程序作为输入,输出LLVM IR。
3. 扩展
关于llgo的源码下载及安装步骤,请详细见
https:// github.com/gollvm/ llgo