Énoncé du problème :
Étant donné un binaire Go compilé, est-ce possible pour compiler dynamiquement un fichier Go externe et le lier au binaire existant pour une utilisation immédiate exécution ?
Solution :
La possibilité de créer des bibliothèques partagées, qui permettent un chargement et une liaison dynamiques, a été introduite dans la version 1.5 de Go en août 2015.
Étapes pour créer et créer un lien Dynamiquement :
Créer une bibliothèque partagée :
Compilez le fichier Go externe en tant que bibliothèque partagée à l'aide du -buildmode=partagé flag :
1 |
|
Construire un binaire avec des liens dynamiques :
Compiler le Go binaire qui chargera et liera la bibliothèque partagée en utilisant le -linkshared flag :
1 |
|
Exemple :
Considérez le code suivant dans main.go :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
Remarque : La bibliothèque partagée doit exporter la fonction RunFoo en utilisant //export RunFoo dans le code source Go.
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!