Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Laksanakan kompilasi merentas platform Golang

Laksanakan kompilasi merentas platform Golang

Go语言进阶学习
Go语言进阶学习ke hadapan
2023-07-21 10:03:391114semak imbas

Kompilasi merentas platform

Kompilasi merentas platform, juga dipanggil kompilasi silang, saya boleh menyusunnya pada platform menang menjadi fail boleh laku pada platform linux.

Ini juga sebab mengapa Go sangat popular Untuk bahasa seperti java, python, php, dll., kami biasanya membangunkan platform menang dan menggunakan linux apabila digunakan untuk menangani pergantungan pihak ketiga, bukan sahaja Pembangunan memenatkan, dan operasi dan penyelenggaraan juga memenatkan Walaupun docker kini menyelesaikan masalah kesakitan ini, ia sepatutnya tidak selesa seperti asalnya.

Jika anda menggunakan Go, tidak kira apa kebergantungan pihak ketiga itu, ia hanya akan dibungkus ke dalam fail boleh laku dan digunakan terus dengan serta-merta, dan dengan cara yang tinggi jika anda bercita-cita tinggi, anda tidak. t walaupun memerlukan Nginx, tetapi jangan risau sama sekali masalah Concurrency.


Contoh

disusun ke dalam fail boleh laku platform linux pada platform menang. Jalankan arahan berikut mengikut urutan di bawah cmd:

SET CGO_ENABLED=0  // 禁用CGO
SET GOOS=linux  // 目标平台是linux
SET GOARCH=amd64  // 目标处理器架构是amd64

Laksanakan kompilasi merentas platform Golang

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

Laksanakan kompilasi merentas platform Golang

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

Laksanakan kompilasi merentas platform Golang

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

Laksanakan kompilasi merentas platform 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

Atas ialah kandungan terperinci Laksanakan kompilasi merentas platform Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:Go语言进阶学习. Jika ada pelanggaran, sila hubungi admin@php.cn Padam