Go에서 릴리스 바이너리 생성
프로그래밍 세계에서는 디버그와 같은 다양한 버전의 바이너리를 생성하는 것이 바람직한 경우가 많습니다. 디버깅 목적을 위한 버전과 프로덕션에 사용하기 위한 릴리스 버전입니다. C에서는 다른 플래그를 사용하여 컴파일하여 결과 바이너리에서 디버그 기호를 제외하거나 포함함으로써 이를 수행할 수 있습니다.
Go에서 수행하는 방법
Go 핸들 이는 C와 다릅니다. C와 달리 Go에는 일반적으로 전용 디버그 또는 바이너리 릴리스 버전이 없습니다. 대신 기본적으로 Go는 기호와 디버그 정보를 모두 바이너리로 컴파일합니다.
디버그 정보 제거
디버그 정보 없이 바이너리를 생성해야 하는 경우 Go는 다음을 제공합니다. ldargs 플래그를 사용하여 제거하는 방법입니다. go 빌드 명령에 "-s -w"를 전달하면 Go가 바이너리에서 기호와 디버그 정보를 모두 제거하도록 지시할 수 있습니다.
예:
go build -ldflags "-s -w" main.go
이렇게 하면 다음이 생성됩니다. 디버그 또는 기호 정보가 포함되지 않은 main이라는 바이너리로 인해 더 작고 잠재적으로 더 빨라집니다. 디버그 정보가 제거되면 복구할 수 없다는 점에 유의해야 합니다.
디버그 정보를 제거하는 경우
디버그 정보 제거는 다음과 같은 여러 시나리오에서 유용할 수 있습니다.
위 내용은 디버그 정보 없이 Go에서 릴리스 바이너리를 어떻게 생성합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!