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