展开全部
解决办法:
加载的时候要根据你将要调用的函数是符合什么调用约32313133353236313431303231363533e59b9ee7ad9431333433626464定的。 windll和cdll分别是WinDLL类和CDll类的对象。
stdcall调用约定:
Objdll = ctypes.windll.LoadLibrary("dllpath")
Objdll = ctypes.WinDLL("dllpath")
cdecl调用约定:
Objdll = ctypes.cdll.LoadLibrary("dllpath")
Objdll = ctypes.CDLL("dllpath")
调用后就可以使用dll中的函数
print Objdll.Add(1, 102)
Objdll = ctypes.cdll.LoadLibrary("D:\\dll\\PosterDetector.dll")
扩展资料:
python导入dll报错展示:
使用python调用C++的dll报错,错误如下:
Traceback (most recent call last):File "E:/work/proc/video_web/application.py", line 157, in
Objdll = ctypes.cdll.LoadLibrary(os.path.join(APP_ROOT,"dll","PosterDetector.dll"))
File "d:\python27\Lib\ctypes\__init__.py", line 444, in LoadLibrary
return self._dlltype(name)
File "d:\python27\Lib\ctypes\__init__.py", line 366, in __init__
self._handle = _dlopen(self._name, mode)
WindowsError: [Error 126]