我用C++编写了一个测试dll,以确保在使用更重要的我需要的dll之前,一切都正常工作。基本上它接受两个double类型的参数,将它们相加,然后返回结果。我一直在尝试其他测试函数,并且已经让返回值正常工作了,但由于错误,我无法传递参数。
我的代码如下:
import ctypes
import string
nDLL = ctypes.WinDLL('test.dll')
func = nDLL['haloshg_add']
func.restype = ctypes.c_double
func.argtypes = (ctypes.c_double,ctypes.c_double)
print(func(5.0,5.0))
它返回调用 "func" 函数的那一行的错误:
ValueError: Procedure probably called with too many arguments (8 bytes in excess)
我做错了什么?谢谢。