Go バイナリの TEXT ディレクティブからファイル パスを削除する
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 ツール objdump を使用して削除を確認します:
$ go tool objdump ./fooapi . . TEXT main.init(SB) api/spikes/mongoapi.go
ストリップに関する注意:
ストリップは報告されていますが、修正されましたが、Go コミュニティ内ではいくつかの論争が残っています。未知の予測不可能なバグが依然として発生する可能性があります。ストリップを使用するときは注意してください。
以上が「-trimpath」を使用して Go バイナリからファイル パスを削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。