不知大家有沒有遇到過這個問題,一個動態庫 A.dll 我是用完就釋放的,FreeLibrary 沒有報錯,反而是主程式關閉時才報這個A.dll的地址錯,說明FreeLibrary沒有釋放到這個dll。神奇的在后面,把這個dll改成別的名字 如B.dll,然后呼叫一下這個B.dll,釋放正常,關閉主程式也正常!!后面我又做了實驗,找了個正常使用的C.dll,把它名稱改成A.dll,然后呼叫它,發現它也是FreeLibrary 沒有報錯,主程式關閉時報地址錯。這個問題困擾了我幾天,,,我的作業系統是Win10
我是用exe呼叫一個dll公共模塊,然后在這個dll公共模塊呼叫A、B、C.dll來測驗的,剛才直接用exe呼叫A.dll,退出exe的時候報runtime error錯
uj5u.com熱心網友回復:
是不是有什么監控或殺毒軟體引起的uj5u.com熱心網友回復:
我的建議,不要懷疑系統問題,所以只要你的IDE環境沒問題的話,一定是代碼有問題。我也是WIN10系統,IDE正常,如果DLL呼叫有問題,一定是DLL代碼寫的有問題,比如沒有釋放資源,介面呼叫定義不一致一類的,問題需要自己去找。
當然沒時間找原因的話,你就掩蓋問題吧。
uj5u.com熱心網友回復:
釋放后,將句柄置空試試轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/42797.html
標籤:語言基礎/算法/系統設計
上一篇:TChromiumDevTools 控制元件在DELPHI中能看到,能拉出來,但是運行就提示不能識別,是什么原因啊
