python ctypes包装空点

2024-09-30 20:35:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在通过ctypes将C库包装到Python中。目前我在一个参数上停留在一行或多行上。这里是C代码:

void* gVimbaHandleFake = (void*)1;
err = VmbFeatureBoolGet(gVimbaHandleFake, "GeVTLIsPresent", &isGigE );   

问题是这个奇怪的空指针。一般来说,我知道什么是空指针,但这一个似乎是“特别的”。如果我更改(void*)1中的1,程序将不再工作(它是关于查找网络摄像机)。它没有崩溃,但再也找不到摄像机了。在

我尝试了很多不同的方法,最后一次是在Python中:

^{pr2}$

也尝试了“正常”的方式:

gVimbaHandle = c_void_p(1)

我的程序没有崩溃,但它告诉我句柄无效。。。 当我查看带有gVimbaHandle.value的指针时,我得到1L作为输出。长数据类型的L就是这个问题吗?在

有没有人知道如何解决这个问题,或者能给我解释一下C语言中的“特殊”(void*)1指针吗?在

非常感谢!在


Tags: 方法代码程序网络参数ctypes摄像机err