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

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

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

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

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