Golang クロスプラットフォーム コンパイルを実装する

リリース: 2023-07-21 10:03:39
転載
1110 人が閲覧しました

クロスプラットフォーム コンパイル

クロスプラットフォーム コンパイル (クロスコンパイルとも呼ばれます) は、次のことができます。 Win プラットフォームで実行し、Linux プラットフォームで実行可能ファイルにコンパイルします。

Go が人気がある理由もこれにあります。Java、Python、php などの言語では、通常、Win プラットフォームで開発し、デプロイします。デプロイメント中は Linux です。サードパーティの依存関係はさらに厄介で、開発が面倒なだけでなく、運用と保守も面倒です。Docker はこの問題点を解決しましたが、それでもネイティブほど快適ではないはずです。

Go を使用する場合、それがどのようなサードパーティの依存関係であっても、実行可能ファイルにパッケージ化されるだけで、高同時実行性の方法で直接直接デプロイされます。 Nginx は必要ありませんが、同時実行の問題についてはまったく心配する必要はありません。


#例

Win プラットフォームで Linux プラットフォームの実行可能ドキュメントにコンパイルします。 cmd 次のコマンドを順番に実行します:

SET CGO_ENABLED=0  // 禁用CGO
SET GOOS=linux  // 目标平台是linux
SET GOARCH=amd64  // 目标处理器架构是amd64
ログイン後にコピー

Golang クロスプラットフォーム コンパイルを実装する##

然后执行go build,得到的就是能够在linux上,可执行的文件。

Golang クロスプラットフォーム コンパイルを実装する

我现在将这个文件上传到我的云服务器上,如下图所示。

Golang クロスプラットフォーム コンパイルを実装する

之后执行,可以看到,我云服务器上连Go环境都没,但是仍然可以执行成功。

Golang クロスプラットフォーム コンパイルを実装する

Windows下编译Mac平台64位可执行程序:

SET CGO_ENABLED=0
SET GOOS=darwin
SET GOARCH=amd64
go build
ログイン後にコピー

Mac 下编译 Linux 和 Windows平台 64位 可执行程序:

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build
ログイン後にコピー

Linux 下编译 Mac 和 Windows 平台64位可执行程序:

CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build
ログイン後にコピー

以上がGolang クロスプラットフォーム コンパイルを実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:Go语言进阶学习
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート