В Windows это наиболее распространенный способ вызова функции Win32 (возобновленные шаги для вызова функции GetForegroundWindow ):
dllUser32 := syscall.NewLazyDLL("user32.dll")
GetForegroundWindow := dllUser32.NewProc("GetForegroundWindow")
hwnd, _, _ := syscall.Syscall(proc.GetForegroundWindow.Addr(), 0,
0, 0, 0)
Я понимаю, почему cgo медленный , и этот cgo не используется с вызовами Win32, а с другим кодом C. Но теперь мой вопрос: как я могу сравнить приведенный выше код с вызовом cgo с точки зрения накладных расходов?
Используется ли cgo под капотом?
Есть ли у него те же накладные расходы, что и при вызове cgo?