Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Mengalih Keluar Laluan Fail daripada Go Binari Menggunakan Bendera `-trimpath`?

Bagaimanakah Saya Boleh Mengalih Keluar Laluan Fail daripada Go Binari Menggunakan Bendera `-trimpath`?

Susan Sarandon
Susan Sarandonasal
2024-12-03 10:29:10326semak imbas

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

Menghapuskan Laluan Fail dalam go Binari dengan Arahan TEKS

Untuk mengalih keluar laluan fail seperti "/Users/myuser/dev/go/src/ fooapi/spikes/mongoapi.go" daripada executable go, gunakan bendera -trimpath sebagai berikut:

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

Mekanisme -trimpath:

Bendera -trimpath dihantar kepada kedua-dua -gcflags dan -asmflags mengalih keluar awalan yang ditentukan daripada laluan fail sumber yang direkodkan dalam binari bunian.

Hasilnya Pengesahan:

Laksanakan go tool objdump ./fooapi untuk melihat hasil yang diubah suai:

$ 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
.
.

Awas pada jalur:

The alat jalur telah menghadapi kontroversi dalam komuniti go, walaupun terdapat tuntutan penyelesaian. Pepijat yang tidak dijangka telah dilaporkan; rujuk perbincangan yang dipautkan untuk maklumat lanjut.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengalih Keluar Laluan Fail daripada Go Binari Menggunakan Bendera `-trimpath`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn