-1

在 Windows 上,我有一个我们自己制作的 DLL,其中加载了另一个 DLL。问题是当在 Matlab 中使用 DLL 时,loadlibrary一切都很好。calllibunloadlibrary

在 Python 中,我尝试使用ctypesand cffi,两者的结果相同。我可以加载 DLL 并调用函数,但我无法再次退出。Python 挂起,我必须从任务管理器中结束任务。

ctypes试着打电话

import _ctypes
_ctypes.FreeLibrary(lib._handle)

正如这里所建议的那样,在 Python 中释放打开的 ctypes 库无效。此外,我尝试调用显式函数来卸载其他 DLL。

谁能给出提示或解决方案为什么它不会卸载/挂起?

4

1 回答 1

-1

我在这里找到了部分答案How can I unload a DLL using ctypes in Python?

显然,必须直接拨打电话_ctypes.FreeLibrary

# Release DLL(?)
handle= lib._handle
 _ctypes.FreeLibrary(handle)
于 2015-09-23T06:44:50.457 回答