Go バイナリの移植性
Go バイナリはクロスプラットフォームになるように設計されており、開発者は複数のオペレーティング システムで実行できるアプリケーションを構築できます。そして建築。ただし、異なる構成間での移植性を実現するには、Go のリンクとコンパイルのプロセスを理解する必要があります。
Q1: amd64 Linux バイナリの移植性
A:はい、Ubuntu システムでコンパイルされた amd64 バイナリは、他の 64 ビットでも実行できます。変更を加えていない Ubuntu/Debian システム。これは、Linux が 64 ビット アプリケーションに共通のシステム ライブラリのセットを使用し、ディストリビューション間のバイナリ互換性を確保しているためです。
Q2: Debianlikes 用の 32 ビット バイナリの構築
A: 64 ビットの両方で動作する x86_64 バイナリを作成するにはおよび 32 ビット Debian の場合は、次のコマンドを使用します。
GOOS=windows GOARCH=386 go build
GOOS を「windows」に設定し、GOARCH を「386」に設定すると、ビルド プロセスで 32 ビット実行可能ファイルが生成されます。
Q3: x86_64 実行可能ファイルの確保Windows
A: 64 ビット Windows システム上でバイナリをビルドしても、x86_64 アーキテクチャをターゲットにすることが自動的に保証されるわけではありません。 x86_64 実行可能ファイルを確実に実行するには、ビルド時に -target フラグを指定します。
go build -target=amd64
このフラグは、ホスト オペレーティング システムに関係なく、コンパイルされたバイナリのターゲット アーキテクチャを明示的に設定します。
以上がさまざまなオペレーティング システムやアーキテクチャ向けにポータブルな Go バイナリを構築するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。