我看了这里给出的例子ctypes - 初学者,并按照相同步骤使用不同的C代码。 我使用此处给出的C代码构建了一个.dll和.lib文件:http://wolfprojects.altervista.org/articles/dll-in-c-for-python/
//test.c
__declspec(dllexport) int sum(int a, int b) {
return a + b;
}
在我的wrapper.py文件中,我有以下内容:
import ctypes
testlib = ctypes.CDLL("C:\\Users\\xyz\\Documents\\Python\\test.dll")
当我运行这个脚本时,出现了以下错误:
如果我使用self._handle = _dlopen(self._name, mode)
OSError: [WinError 193] %1 不是有效的 Win32 应用程序
testlib = ctypes.LibraryLoader("C:\\Users\\xyz\\Documents\\Python\\test.dll")
如果我运行脚本时没有出现任何错误,但是如果我尝试执行以下操作:
testlib.sum(3,4)
我遇到了以下错误:
dll = self._dlltype(name)
TypeError: 'str' object is not callable
dll文件和.py文件在同一个文件夹中。有谁能帮助我理解这是怎么回事?我已经花了几个小时来尝试解决这个问题,但是一直没有头绪。谢谢。