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

Implémenter la compilation multiplateforme Golang

Libérer: 2023-07-21 10:03:39
avant
1127 Les gens l'ont consulté

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
Copier après la connexion

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
Copier après la connexion

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

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build
Copier après la connexion

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

CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build
Copier après la connexion

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!

Étiquettes associées:
source:Go语言进阶学习
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal