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
然后执行go build
,得到的就是能够在linux上,可执行的文件。
我现在将这个文件上传到我的云服务器上,如下图所示。
之后执行,可以看到,我云服务器上连Go环境都没,但是仍然可以执行成功。
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!