编译时,如果编译的结果需要gdb调试则使用参数-gcflags “-N -l”,这样可以忽略Go内部做的一些优化,聚合变量和函数等优化. go build -gcflags "-N -l",但是一定要注意是不是小写的i,也不是大写的I,是小写的L,不然会出现奇怪的错误。
如果编译的结果需要发布.则使用-ldflags “-s”,可以去掉调试信息,减小大约一半的大小
go build -ldflags "-s"
删除调试符号:go build -ldflags “-s -w”
- -s: 去掉符号信息。
- -w: 去掉DWARF调试信息。
关闭内联优化:go build -gcflags “-N -l”
时间: 2024-10-04 22:23:03