Go build 会执行两个操作:
- 编译:将原文件编译成可重定位文件
- 链接:将这些可重定位文件链接起来形成可执行文件
当你在编译时, 可以用-gcflags
为指定的编译器指定编译参数,例如:
go build -gcflags '-S -V' //编译时打印版本信息
这些参数可以使用go tool compile --help
来获去编译时可以使用的参数列表,go tool compile
就是go
的编译器
同样的,你也可以在go build
时通过-ldflags
为go
的连接器指定参数,例如:
go build -ldflags `-w -s` //链接时去掉调式信息和符号表
这些参数可以使用 go tool link --help
来查看,go tool link
就是go
的链接器