我在python 2.7 win8.1 64bit中使用ctypes加载由第三方程序创建的DLL。该代码适用于约150次加载。这个小循环是我加载DLLS的地方:
for i in os.listdir(self.path):
if '.dll' in i:
self.DLL = cdll.LoadLibrary(self.path+'//'+i)
并因以下错误消息而失败:
self.DLL = cdll.LoadLibrary(self.path+'//'+i)
File "C:\Users\Johannes\Anaconda\lib\ctypes\__init__.py", line 444, in LoadLibrary
return self._dlltype(name)
File "C:\Users\Johannes\Anaconda\lib\ctypes\__init__.py", line 366, in __init__
self._handle = _dlopen(self._name, mode)
WindowsError: [Error 1114] A dynamic link library (DLL) initialization routine failed
我改变了DLL的顺序,所以它绝对不是某个DLL失败但是~150个DLL失败了。加载DLL有没有限制?我无法想象这是原因,但也不知道我做错了什么。谢谢你的帮助