Maison  >  Article  >  développement back-end  >  Implémenter la compilation multiplateforme Golang

Implémenter la compilation multiplateforme Golang

Go语言进阶学习
Go语言进阶学习avant
2023-07-21 10:03:391055parcourir

Compilation multiplateforme

Compilation multiplateforme, également appelée compilation croisée, je peux la compiler sur la plateforme win en un fichier exécutable sur la plateforme Linux.

C'est aussi la raison pour laquelle Go est si populaire. Pour les langages tels que java, python, php, etc., nous développons généralement sur la plate-forme Win et déployons sur Linux lors du déploiement. pour gérer les dépendances de tiers, non seulement le développement est fatiguant, mais l'exploitation et la maintenance sont également fatigantes. Bien que Docker résolve désormais ce problème, il ne devrait toujours pas être aussi confortable qu'il l'était à l'origine.

Si vous utilisez Go, quelles que soient les dépendances tierces, il sera uniquement intégré dans un fichier exécutable et déployé directement immédiatement, et de manière hautement simultanée. Quelle que soit la taille de votre cœur, vous. vous n'avez même pas besoin de Nginx, mais ne vous inquiétez pas du tout des problèmes de concurrence.


Exemple

est compilé dans un fichier exécutable de plate-forme Linux sur la plate-forme Win. Exécutez les commandes suivantes dans l'ordre sous cmd :

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

Implémenter la compilation multiplateforme Golang

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

Implémenter la compilation multiplateforme Golang

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

Implémenter la compilation multiplateforme Golang

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

Implémenter la compilation multiplateforme 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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer