我需要将字符串作为参数传递给 golang 中的 C DLL,我想得到这样的东西:
proc, e = syscall.GetProcAddress(h, "JLINKARM_ExecCommand") //One of the functions
vals := []string{"device = STM32F429ZI"}
start := uintptr(unsafe.Pointer(&vals[0]))
asd, _, _ = syscall.Syscall6(uintptr(proc), 3, start, 0, 0, 0, 0, 0)
但它不起作用。系统调用将 uintptr 作为参数。我不能使用 C 包,因为它不能在 Windows 上构建。
在 C 中,它的工作方式如下:
strcpy(acIn, "device = STM32F407IE");
JLINKARM_ExecCommand(acIn, &acOut[0], sizeof(acOut));
那么 C DLL 是否有机会获取字符串参数并正确使用它?
翻过高山走不出你
青春有我
相关分类