Heim >Backend-Entwicklung >Golang >Wie kann ich Dateipfade aus Go-Binärdateien mithilfe des Flags „-trimpath' entfernen?

Wie kann ich Dateipfade aus Go-Binärdateien mithilfe des Flags „-trimpath' entfernen?

Susan Sarandon
Susan SarandonOriginal
2024-12-03 10:29:10330Durchsuche

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

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn