从 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中文网其他相关文章!