ホームページ  >  記事  >  バックエンド開発  >  Golang クロスプラットフォーム コンパイルを実装する

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

Go语言进阶学习
Go语言进阶学习転載
2023-07-21 10:03:391093ブラウズ

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

クロスプラットフォーム コンパイル (クロスコンパイルとも呼ばれます) は、次のことができます。 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 までご連絡ください。