Maison > Article > développement back-end > Comment appeler des fonctions à partir de fichiers d’objets partagés dans Go ?
Appel de fonctions à partir de fichiers d'objets partagés dans Go
Il est possible d'appeler des fonctions à partir de fichiers d'objets statiques (.so) dans les programmes Go. Contrairement à l'affirmation populaire, la fonction syscall.LoadLibrary n'existe pas dans la bibliothèque standard Go. Au lieu de cela, sur les plates-formes POSIX, vous pouvez exploiter cgo pour utiliser les fonctions dlopen et friends.
Voici un exemple d'extrait de code qui illustre comment y parvenir :
<code class="go"> // #cgo LDFLAGS: -ldl // #include <dlfcn.h> import "C" import fmt func foo() { handle := C.dlopen(C.CString("libfoo.so"), C.RTLD_LAZY) bar := C.dlsym(handle, C.CString("bar")) fmt.Printf("bar is at %p\n", bar) } </code>
En utilisant cgo et le appels système appropriés, vous pouvez charger une bibliothèque d'objets partagés et appeler ses fonctions exportées depuis votre programme 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!