Golang バイナリのクロスプラットフォーム互換性
Golang バイナリは、移植性が想定されているにもかかわらず、異なるプラットフォーム間で互換性の問題が発生する可能性があります。この記事では、Go のリンカー/コンパイラーの静的な性質を詳しく掘り下げ、次の 3 つの具体的な懸念事項に対処します。
1.サードパーティ システムでの amd64 Ubuntu バイナリの移植性
はい、amd64 Ubuntu バイナリは通常、他の 64 ビット Ubuntu/Debian システムと互換性があります。これは、Go が回避する共有ライブラリを除いて、64 ビット Linux バイナリの一般的な特性です。
2. 32 ビット Debian 互換バイナリのビルド
Go を使用して 32 ビット Debian 互換バイナリを作成するには、ビルドする前に GOOS および GOARCH 環境変数を調整します。
GOOS=windows GOARCH=386 go build
3. Windows からの x86_64 実行可能ファイルの確保
デフォルトでは、Go バイナリは現在のシステム アーキテクチャに合わせてビルドされます。ただし、ポイント 2 で説明したように GOOS 変数と GOARCH 変数を設定することで、この動作をオーバーライドできます。これにより、64 ビット Windows システムでも、実行可能ファイルが x86_64 用にコンパイルされます。
以上がGolang バイナリとのクロスプラットフォーム互換性を実現するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。