web-dev-qa-db-ja.com

Goでリリースバージョンのバイナリをビルドする方法

Cでは、バイナリファイル(オブジェクトファイルと実行可能ファイル)のデバッグバージョンまたはリリースバージョンをビルドできます。 Goでこれを行うにはどうすればよいですか?

29
catric mia

Goでは、デバッグバージョンまたはリリースバージョンを持つことは一般的ではありません。

デフォルトでは、go buildはシンボルとデバッグ情報をバイナリファイルと結合します。ただし、go build -ldflags "-s -w"を使用して、シンボルとデバッグ情報を削除できます。

48
ross wang

次を使用して、デバッグシンボルを削除するようにリンカーに指示できます。

go install -ldflags '-s'

かなり大きな実行可能ファイル( [〜#〜] gxui [〜#〜] サンプルの1つ)で試しましたが、これにより〜16Mから〜10Mに削減されました。いつものように、あなたの走行距離は異なる場合があります...

ここ は、すべてのリンカーオプションの完全なリストです。

9
rob74