靚麗時尚館

位置:首頁 > 健康生活 > 心理

loadlibrary失敗的解決方法

心理7.52K
loadlibrary失敗的解決方法

1、檔案路徑不對

2、dll裡有全域性變量出事化失敗或dllmain函式返回false。

我們這個程式裡用的是絕對路徑,原因1是不成立的。分析dll的程式碼,發現原因2也是不成立的。

追蹤到這裡就沒思路解決問題了,後來發現載入dll可以用loadlibrary,loadlibraryex,afxloadlibrary。試了下其他兩個函式,loadlibraryex現象一樣,afxloadlibrary會拋異常。查了資料,afxloadlibrary是用來載入mfc擴充套件dll的,不同的一點是 在載入dll前會處理執行緒同步。好像初始化也沒有執行緒同步的問題啊。不理解。

再仔細看程式碼,發現dllmain所在的類檔案裡有 #include <afxdllx.h> , 不理解這個標頭檔案有什麼作用,遮蔽後編譯沒影響,將dll放在必現的場景下測試,不再出現載入失敗的問題。

標籤:loadlibrary