.so
在Windows上,我会执行以下操作:
h, e = syscall.LoadLibrary("name.dll")
if e != nil {
log.Fatal(e)
}
defer syscall.FreeLibrary(h)
.所以
proc, e := syscall.GetProcAddress(h, processName) //One of the functions in the DLL
if e != nil {
log.Fatal("errror:", e, processName)
}
pid, _, _ := syscall.Syscall6(uintptr(proc), uintptr(paramSize), a1, a2, a3, 0, 0, 0) //handler, countParam, param, 0 // zawiera jakiegoÅ print "Hello World" - value
fmt.Println(processName, pid)
我想得到函数(进程)地址并用它来调用syscall.Syscall6。
使用CGo是有答案的,但它并不完整,也没有解释如何使这个函数无效并将param传递给它。