...让我发表一些本周在使用需要C指针的外部DLL时使用的代码。 在这一点上,我只是勉强了解,因为它是我的一个朋友新手,而且我已经十年没有使用C语言了,但是它确实有效,并且可能会引导您朝着正确的方向发展。
DLL期望输入和输出到其函数的C指针。
从ctypes import *因为他正在使用ctypes。
ExternalLib = windll.LoadLibrary(“ LibName.dll”)使我可以访问DLL函数。
tmpStr = create_string_buffer(256)我假设这是一个创建C字符串指针的ctypes函数。
inx = c_double(1000.00)此DLL可与坐标一起使用,我将向一个函数中传递一个双指针,因此必须这样声明它。 外部 库.SetXIn(inx)
SetXIn()是库函数之一,因此我传入了上面设置的c双指针。 ExternalLib .GetXOut.restype = c_double
据我了解(我实际上不是),GetXOut将返回一个指向C double的指针,因此我必须这样声明它。
outx = ExternalLib .GetXOut()然后拨打电话,这给了我一个定期存储在python中的double的信息。
我也读了一些python
Ctypes Tutorial ,尽管目前仅够基本了解(这很明显)。From: https://bytes.com/topic/python/insights/607442-ctypes-basics