Heim >Backend-Entwicklung >Golang >Wie kann ich Dateipfade aus Go-Binärdateien mithilfe des Flags „-trimpath' entfernen?
Eliminieren von Dateipfaden in Go-Binärdateien mit TEXT-Anweisungen
So entfernen Sie Dateipfade wie „/Users/myuser/dev/go/src/“ fooapi/spikes/mongoapi.go“ aus den ausführbaren Go-Dateien verwenden Sie das Flag -trimpath als folgt:
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
Mechanismus von -trimpath:
Das an -gcflags und -asmflags übergebene Flag -trimpath entfernt angegebene Präfixe aus aufgezeichneten Quelldateipfaden im Elf-Binärdatei.
Ergebnis Überprüfung:
Führen Sie das Go-Tool objdump ./fooapi aus, um das geänderte Ergebnis anzuzeigen:
$ go tool objdump ./fooapi . . TEXT main.init(SB) api/spikes/mongoapi.go mongoapi.go:60 0x12768c0 65488b0c25a0080000 GS MOVQ GS:0x8a0, CX mongoapi.go:60 0x12768c9 483b6110 CMPQ 0x10(CX), SP mongoapi.go:60 0x12768cd 7663 JBE 0x1276932 . .
Achtung beim Strip:
Die Das Strip-Tool ist in der Go-Community trotz Behauptungen über eine Lösung auf Kontroversen gestoßen. Unvorhergesehene Fehler wurden gemeldet; Weitere Informationen finden Sie in den verlinkten Diskussionen.
Das obige ist der detaillierte Inhalt vonWie kann ich Dateipfade aus Go-Binärdateien mithilfe des Flags „-trimpath' entfernen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!