Maison >développement back-end >Golang >La liaison dynamique de Go 1.5 peut-elle améliorer les binaires existants avec du code externe ?
Déverrouiller la liaison dynamique à partir d'un binaire Go
L'amélioration d'un binaire Go avec du code personnalisé via la liaison dynamique élimine le besoin de reconstruire l'intégralité du binaire. Ce guide explore la possibilité de réaliser cet exploit, en tirant parti des dernières avancées de Go 1.5.
Le défi : compiler et lier du code externe
L'objectif est de compiler un fichier Go externe à partir d'un binaire Go existant et liez-le à l'environnement d'exécution du binaire. Cela permet l'intégration transparente de nouvelles fonctionnalités sans recompiler l'intégralité de l'exécutable.
La réponse : la prise en charge des liens dynamiques de Go 1.5
La fonctionnalité tant attendue de partage les bibliothèques sont enfin arrivées avec Go 1.5. Cette version révolutionnaire permet aux développeurs de créer des bibliothèques partagées Go qui peuvent être utilisées par les programmes Go.
Étape 1 : Créer une bibliothèque standard en tant que bibliothèques partagées
Pour créer des bibliothèques partagées, utilisez l'indicateur -buildmode=shared lors de l'installation. Par exemple, pour créer la bibliothèque standard en tant que bibliothèques partagées, entrez :
$ go install -buildmode=shared std
Étape 2 : Créer un programme lié aux bibliothèques partagées
Créez un "Bonjour, world" qui établit des liens avec les bibliothèques partagées de la bibliothèque standard :
$ go build -linkshared hello.go
Étape 3 : Inspection le binaire de la bibliothèque partagée
Une fois la construction terminée, exécutez ls -l sur le binaire pour vérifier les modifications :
$ ls -l hello -rwxr-xr-x 1 adg adg 13926 May 26 02:13 hello
Conclusion
Avec l'introduction des liens dynamiques dans Go 1.5, le rêve d'intégrer de manière transparente du code Go externe dans les binaires existants devient une réalité. Cela ouvre un large éventail de possibilités pour le développement de logiciels modulaires et la réutilisation de code.
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!