importando una función de dll a ir usando dllImport equivalent
declaración del problema
en c#, dllimport se utiliza para importar las funciones de un dll escrito en C. está ahí hay un mecanismo similar en un mecanismo similar en un mecanismo similar en un mecanismo similar en un mecanismo similar. Funciones creadas en c?
SOLUCIÓN USO CGO y SYSCALL
Hay múltiples enfoques para importar una función DLL en GO. Un método implica usar el paquete CGO, que facilita la creación de enlaces GO para el código C. Con CGO, puede llamar directamente a las funciones de DLL como si fueran funciones GO.
otro método aprovecha el paquete SYSCall. Esto le permite interactuar con las API de bajo nivel del sistema, incluida la carga de DLL y las llamadas de funciones. Al administrar explícitamente la memoria y llamar a las funciones del sistema necesarias, puede importar funciones de DLL usando syscall.
código de ejemplo para cgo
import "C" func main() { C.SomeDllFunc(...) }
Código de ejemplo para syscall
import ( "fmt" "syscall" "unsafe" ) func main() { kernel32, _ := syscall.LoadLibrary("kernel32.dll") getModuleHandle, _ := syscall.GetProcAddress(kernel32, "GetModuleHandleW") handle := GetModuleHandle() fmt.Println(handle) } func GetModuleHandle() uintptr { var nargs uintptr = 0 ret, _, _ := syscall.Syscall(uintptr(getModuleHandle), nargs, 0, 0, 0) return ret }
recursos adicionales
para obtener más detalles, consulte los siguientes recursos:
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3