如果我加載了一個帶有LoadLibrary
的DLL,那麼該DLL是否能保證加載?如果不是,我怎樣才能防止重新加載。使用LoadLibrary加載DLL
實際情況:我有一個調度器,根據某些消息,它需要加載多個dll中的一個,並從中執行某些功能。我無法在編譯時鏈接到它們,所以我使用LoadLibrary
。因爲可能會有很多電話,所以我不希望每次都撥打LoadLibrary
,因爲這是一個瓶頸。所以我打算每個DLL只調用一次,調用GetProcAddress
來獲取函數也只有一個DLL,並將其緩存在某處。但是安全嗎?我保證在任何後續調用中調用該函數都可以嗎?如果沒有,我怎麼能得到這個保證?
你有沒有考慮過使用Delay-Loaded DLLs? http://msdn.microsoft.com/en-us/library/151kt790.aspx – Ferruccio