импорт функции DLL в Go с использованием dllimport эквивалент
задача
в c#, Dllimport используется для импорта из DLL, в котором можно использовать функции DLL, а затем и импортируется, что он импортируется, что в DLL Importions Oversmomporings, что в DLL Islisting, в то время как DLL Oversomping, чтобы он был в DLL, используется в DLL. В C? Один из методов включает в себя использование пакета CGO, который облегчает создание привязки GO для кода C. С CGO вы можете напрямую вызывать функции DLL, как если бы они были функциями GO. Это позволяет вам взаимодействовать с API системы низкого уровня, включая загрузку DLL и вызов функций. Явно управляя памятью и вызывая необходимые системы системных функций, вы можете импортировать функции DLL с использованием Syscall.
пример кода для CGO
импорт "C" func main () { C.somedllfunc (...) }
пример кода для syscall
import ( "FMT" "Сискалл" "Небезопасно" ) func main () { kernel32, _: = syscall.loadlibrary ("kernel32.dll") GetModuleHandle, _: = syscall.getProcadDress (Kernel32, "getModuleHandlew") Ручка: = getModuleHandle () fmt.println (ручка) } func getModuleHandle () uintptr { var nargs uintptr = 0 ret, _, _: = syscall.syscall (uintptr (getmodulehandle), nargs, 0, 0, 0) вернуть в отставку }
import "C" func main() { C.SomeDllFunc(...) }дополнительные ресурсы
для получения дополнительной информации см.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3