我是Python新手,我正在尝试处理自定义dll。这是我的问题。
我可以使用ctypes.cdll.LoadLibrary()函数加载dll
我对dll的第一个调用是一个应该向对象返回void *的函数。这是功能:
<Import Project="$(FSharpTargetsPath)" />
将指针保存到Device以备将来使用的代码应该是什么?像这样的东西?
void * Create(void)
{
if ( !gInitCalled )
{
Init();
}
return new Device;
}
通话结束后,MyDevice的值为c_void_p(177734563)。这是对的吗?我猜这是Device对象的地址。
下一个问题:我该如何使用它?如果函数需要输入的void *,它是否正确?
MyDevice = ctypes.c_void_p(Mydll.Create())
来自dll的这个函数返回一个错误,说明无效的参数。如果void *为null,则会引发此问题。
我做错了什么?有什么建议吗?
感谢您的支持。