> 백엔드 개발 > Golang > `-trimpath`를 사용하여 Go 바이너리에서 파일 경로를 어떻게 제거할 수 있나요?

`-trimpath`를 사용하여 Go 바이너리에서 파일 경로를 어떻게 제거할 수 있나요?

Susan Sarandon
풀어 주다: 2024-11-28 19:55:12
원래의
749명이 탐색했습니다.

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

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿