Mengalih keluar Laluan Fail daripada Arahan TEKS dalam Compiled Go Binaries
Timbul keperluan untuk menghapuskan maklumat laluan fail daripada arahan TEXT dalam binari Go yang disusun. Soalan ini mencari penyelesaian yang tidak melibatkan penggunaan alat 'jalur'.
Penyelesaian: Menggunakan -trimpath Flags
Pendekatan yang disyorkan melibatkan penggunaan ' -trimpath' bendera apabila memanggil 'go build'. Dengan menghantar '-trimpath' kepada '-gcflags' dan '-asmflags', maklumat laluan luar boleh dilucutkan daripada binari elf yang terhasil.
Berikut ialah contoh yang diubah suai bagi perintah 'go build' yang menggabungkan '- trimpath' bendera:
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
Pengesahan:
Untuk mengesahkan keberkesanan penyelesaian ini, jalankan 'go tool objdump' pada binari 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 . .
Nota Tambahan:
Adalah penting untuk ambil perhatian bahawa walaupun alat 'jalur' telah dilaporkan untuk menyelesaikan isu ini, sesetengah dalam komuniti Go masih menyatakan kebimbangan mengenai kebolehpercayaannya. Kejadian pepijat yang tidak diketahui dan tidak dapat diramalkan telah ditemui, seperti yang didokumenkan dalam pelbagai forum dan perbincangan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengalih Keluar Laluan Fail daripada Arahan TEKS Go Binaries\' Tanpa Menggunakan Alat `strip`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!