chai2010/advanced-go-programming-book

3.1.4 定义 main() 函数 无法编译

two opened this issue · 3 comments

two commented

3.1.4 编译报错:
main.main: relocation target runtime.printstring not defined for ABI0 (but is defined for ABIInternal)
main.main: relocation target runtime.printnl not defined for ABI0 (but is defined for ABIInternal)

参考 #427

主要原因是Go语言的内部ABI发生了变化,现在无法直接调用其它包内部函数。
一个临时解决方法是,在当前包用Go实现一个 println 或 printstring 函数,
然后 runtime·printstring 替换为 ·printstring

two commented

参考 #427

主要原因是Go语言的内部ABI发生了变化,现在无法直接调用其它包内部函数。
一个临时解决方法是,在当前包用Go实现一个 println 或 printstring 函数,
然后 runtime·printstring 替换为 ·printstring

已解决,多谢

failed

hello-main go build

Go-code/ch3.8/hello-main

./main_amd64.s:6: unexpected EOF
asm: assembly of ./main_amd64.s failed

在.s文件最后加一空行就行了