首页 >后端开发 >Golang >如何使用'-trimpath”从 Go 二进制文件中删除文件路径?

如何使用'-trimpath”从 Go 二进制文件中删除文件路径?

Susan Sarandon
Susan Sarandon原创
2024-11-28 19:55:12669浏览

How Can I Remove File Paths from Go Binaries Using `-trimpath`?

从 Go 二进制文件中的文本指令中删除文件路径

要从 go build 创建的可执行文件中删除路径信息,请使用 -trimpath 标志。

使用-trimpath标志:

将 -gcflags=-trimpath=/Users/myuser/dev/go/src 和 -asmflags=-trimpath=/Users/myuser/dev/go/src 附加到 go 构建命令:

CGO_ENABLED=0 go build -v -a -ldflags="-w -s" \
-gcflags=-trimpath=/Users/myuser/dev/go/src \
-asmflags=-trimpath=/Users/myuser/dev/go/src \
-o ./fooapi spikes/mongoapi.go

说明:

传递 -trimpath 会删除记录的源文件路径中提供的前缀。此操作会消除 elf 二进制文件中的路径信息。

验证:

使用 go tool objdump 确认删除:

$ go tool objdump ./fooapi
.
.
TEXT main.init(SB) api/spikes/mongoapi.go

关于脱衣的注意事项:

尽管据报道脱衣已修复,但 Go 社区中仍存在一些争议。未知和不可预测的错误仍然可能发生。使用试纸时请小心。

以上是如何使用'-trimpath”从 Go 二进制文件中删除文件路径?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn