TEXT 지시문을 사용하여 go 바이너리에서 파일 경로 제거
"/Users/myuser/dev/go/src/와 같은 파일 경로를 제거하려면 fooapi/spikes/mongoapi.go" go 실행 파일에서 -trimpath 플래그를 다음과 같이 사용합니다. 다음:
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
-trimpath 메커니즘:
-gcflags 및 -asmflags에 전달된 -trimpath 플래그는 기록된 소스 파일 경로에서 지정된 접두사를 제거합니다. elf 바이너리.
결과 확인:
go tool objdump ./fooapi를 실행하여 수정된 결과를 확인하세요.
$ 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 . .
스트립 주의 사항:
스트립 도구는 해결에 대한 주장에도 불구하고 Go 커뮤니티에서 논란에 직면했습니다. 예상치 못한 버그가 보고되었습니다. 자세한 내용은 링크된 토론을 참조하세요.
위 내용은 `-trimpath` 플래그를 사용하여 Go 바이너리에서 파일 경로를 어떻게 제거할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!