英文:
How to build a release version binary in Go?
问题
在C语言中,我们可以构建调试版本或发布版本的二进制文件(目标文件和可执行文件)。在Go语言中,我们如何做到这一点?
英文:
In C, we can build a debug version or a release version of the binary files (the object files and the executable). How can we do this in Go?
答案1
得分: 141
在Go语言中,通常没有调试版本或发布版本的概念。
默认情况下,go build
命令会将符号和调试信息与二进制文件一起编译。然而,你可以使用go build -ldflags "-s -w"
命令去除符号和调试信息。
英文:
In Go, it isn't typical to have a debug version or a release version.
By default, go build
combines symbol and debug info with binary files. However, you can remove the symbol and debug info with go build -ldflags "-s -w"
.
答案2
得分: 26
你可以使用以下命令来指示链接器去除调试符号:
go install -ldflags '-s'
我刚刚在一个相当大的可执行文件(GXUI 示例之一)上尝试了这个命令,它将文件大小从约16M减小到约10M。当然,效果因情况而异...
这里是所有链接器选项的完整列表。
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论