Comment importer une fonction DLL écrite en C à l'aide de Go :
En tant que développeur utilisant Go sur un système Windows, vous pouvez rencontrer le besoin de s'interfacer avec des DLL écrites en C. Explorons quelques méthodes pour y parvenir.
1. Méthode cgo :
Le package cgo intègre de manière transparente le code C dans les programmes Go. Il vous permet d'appeler des fonctions DLL directement en utilisant la syntaxe Go. Par exemple :
import "C" ... C.SomeDllFunc(...)
2. Utilisation de syscall :
Le package syscall fournit un accès direct à la fonctionnalité d'appel système, y compris la possibilité de charger et d'interagir avec des DLL.
import ( "syscall" "unsafe" ) ... kernel32, _ := syscall.LoadLibrary("kernel32.dll") getModuleHandle, _ := syscall.GetProcAddress(kernel32, "GetModuleHandleW")
func GetModuleHandle() uintptr { nargs := uintptr(0) ret, _, callErr := syscall.Syscall(uintptr(getModuleHandle), nargs, 0, 0, 0) if callErr != 0 { abort("Call GetModuleHandle", callErr) } return ret }
3. Ressources supplémentaires :
Ces méthodes vous permettent d'intégrer efficacement les DLL dans vos programmes Go, donnant accès à un large éventail de fonctionnalités écrites en C.
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!