Go 바이너리의 TEXT 지시어에서 파일 경로 제거
go 빌드로 생성된 실행 파일에서 경로 정보를 제거하려면 -trimpath 플래그를 사용하세요.
-trimpath 사용 플래그:
go 빌드에 -gcflags=-trimpath=/Users/myuser/dev/go/src 및 -asmflags=-trimpath=/Users/myuser/dev/go/src를 추가합니다. 명령:
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를 전달하면 기록된 소스 파일 경로에서 제공된 접두사가 제거됩니다. 이 작업은 elf 바이너리에서 경로 정보를 제거합니다.
확인:
go 도구 objdump를 사용하여 제거를 확인합니다.
$ go tool objdump ./fooapi . . TEXT main.init(SB) api/spikes/mongoapi.go
스트립 관련 주의 사항:
스트립이 수정된 것으로 알려졌지만 Go 커뮤니티 내에는 일부 논란이 남아 있습니다. 알려지지 않고 예측할 수 없는 버그가 여전히 발생할 수 있습니다. 스트립 사용 시 주의하세요.
위 내용은 `-trimpath`를 사용하여 Go 바이너리에서 파일 경로를 어떻게 제거할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!