-1

Windows では、他の DLL をロードする自分で作成した DLL があります。問題は、Matlab で DLL を使用する場合、loadlibraryすべて問題ないことです。calllibunloadlibrary

Python では、 と を使用しようとしましたがctypescffiどちらも同じ結果になりました。DLL を読み込んで関数を呼び出すことはできますが、再び終了することはできません。Python がハングアップし、タスク マネージャーからタスクを終了する必要があります。

ctypes私は電話しようとしました

import _ctypes
_ctypes.FreeLibrary(lib._handle)

ここで提案されているように、Pythonで開いているctypesライブラリを効果なしで解放します。さらに、明示的な関数を呼び出して、他の DLL をアンロードしようとしました。

アンロード/ハングしない理由について、ヒントや解決策を誰かに教えてもらえますか?

4

1 に答える 1

-1

ここで答えの一部を見つけました Pythonでctypesを使用してDLLをアンロードするにはどうすればよいですか?

どうやら call を_ctypes.FreeLibrary直接呼び出す必要があります。

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