我把代码补齐了,书中没有提供 main,建议加上,我是猜测的。
ugo 项目对于推广 go 语言和编译器都很有帮助,谢谢分享,加油!
我看到了,代码在 examples 目录。
package main
import (
"fmt"
"iol"
"os"
"os/exec"
)
func compile(code string) {
output := fmt.Sprintf(tmpl, code)
os.WriteFile("a.out.ll", []byte(output), 0666)
exec.Command("clang", "-Wno-override-module", "-o", "a.out", "a.out.ll").Run()
}
const tmpl = `
define i32 @main() {
ret i32 %v
}
`
func main() {
code, _ := io.ReadAll(os.Stdin)
compile(string(code))
}