ホームページ  >  記事  >  バックエンド開発  >  さまざまなオペレーティング システムやアーキテクチャ向けにポータブルな Go バイナリを構築するにはどうすればよいですか?

さまざまなオペレーティング システムやアーキテクチャ向けにポータブルな Go バイナリを構築するにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-15 15:21:02411ブラウズ

How do I build portable Go binaries for different operating systems and architectures?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。