Les binaires Golang sont-ils portables ?
Dans le domaine de la programmation, la portabilité est essentielle pour atteindre un public plus large. En tant qu'utilisateur principalement Linux, vous vous demandez peut-être si les binaires Golang que vous créez ont la capacité de fonctionner de manière transparente sur diverses plates-formes. Cet article se penche sur la portabilité des binaires Golang et fournit des réponses à vos questions spécifiques.
Question 1 : Compatibilité sur les systèmes Ubuntu/Debian 64 bits
Oui, Golang les binaires compilés sur votre système Ubuntu 64 bits fonctionneront généralement sur d'autres systèmes Ubuntu/Debian 64 bits. Cela s'applique aux binaires écrits dans la plupart des langues, pas seulement en Go. L'exception à cette règle concerne les bibliothèques partagées, qui ne sont pas très utilisées dans les programmes Go.
Question 2 : Construire des binaires x86_64 pour les Debianlikes 32 bits
Pour y parvenir , vous pouvez définir les variables d'environnement GOOS et GOARCH avant de compiler votre binaire. Utilisez la commande suivante :
GOOS=windows GOARCH=386 go build
Cela générera un binaire qui s'exécute sur les systèmes x86_64.
Question 3 : Garantir les binaires x86_64 sous Windows
Par défaut, les binaires Go sont créés pour le système sur lequel vous utilisez. Cependant, vous pouvez remplacer cela en définissant les variables GOOS et GOARCH comme décrit dans la question 2. Même si votre système Windows est 64 bits, vous pouvez créer des binaires x86_64 en utilisant la même commande :
GOOS=windows GOARCH=386 go build
En conclusion , les binaires Golang compilés pour une plate-forme spécifique sont généralement portables vers d'autres systèmes exécutant la même architecture. En ajustant les variables d'environnement GOOS et GOARCH, vous pouvez améliorer encore la portabilité de vos programmes Go et assurer leur compatibilité sur différentes plates-formes.
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!