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

Wie kann ich Dateipfade mit „-trimpath' aus Go-Binärdateien entfernen?

Susan Sarandon
Susan SarandonOriginal
2024-11-28 19:55:12684Durchsuche

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

Entfernen von Dateipfaden aus TEXT-Anweisungen in Go-Binärdateien

Um Pfadinformationen aus der von Go Build erstellten ausführbaren Datei zu entfernen, verwenden Sie die Flags -trimpath.

Verwenden Sie -trimpath Flags:

Hängen Sie -gcflags=-trimpath=/Users/myuser/dev/go/src und -asmflags=-trimpath=/Users/myuser/dev/go/src an den Go-Build an Befehl:

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

Erklärung:

Durch die Übergabe von -trimpath wird das bereitgestellte Präfix aus aufgezeichneten Quelldateipfaden entfernt. Durch diese Aktion werden Pfadinformationen aus Elf-Binärdateien entfernt.

Überprüfung:

Verwenden Sie das Go-Tool objdump, um die Entfernung zu bestätigen:

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

Achtung bezüglich Streifen:

Obwohl Streifen Berichten zufolge behoben wurden, einige Innerhalb der Go-Community gibt es weiterhin Kontroversen. Es können weiterhin unbekannte und unvorhersehbare Fehler auftreten. Seien Sie vorsichtig, wenn Sie Streifen verwenden.

Das obige ist der detaillierte Inhalt vonWie kann ich Dateipfade mit „-trimpath' aus Go-Binärdateien 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