我正在查看某人的代碼(也許是你的:D),其中有一個叫做FreeLibrary()
的函數。是FreeLibrary()在linux上工作嗎?
我想知道這個功能是否也適用於Linux。其實,我試圖Google搜索它,但只有一些與Windows操作系統相關的頁面。
如果這個函數不適用於linux,那麼linux的等效函數是什麼?
我正在查看某人的代碼(也許是你的:D),其中有一個叫做FreeLibrary()
的函數。是FreeLibrary()在linux上工作嗎?
我想知道這個功能是否也適用於Linux。其實,我試圖Google搜索它,但只有一些與Windows操作系統相關的頁面。
如果這個函數不適用於linux,那麼linux的等效函數是什麼?
基於FreeLibrary則(),它來自於這裏的描述:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms683152%28v=vs.85%29.aspx
Linux中的同等功能是dlclose():
的FreeLibrary則的Windows功能description說
釋放加載的動態鏈接庫(DLL)模塊,並在必要時減少其引用計數。當引用計數達到零時,模塊將從調用進程的地址空間卸載,並且句柄不再有效。
在Linux dlclosefunction非常相似
函數dlclose()遞減的動態庫句柄句柄引用計數。如果引用計數下降到零,並且沒有其他加載的庫使用它中的符號,則動態庫將被卸載。
網上有很多關於如何使用Linux動態庫的例子,例如this one。
謝謝你的參與! – 2014-09-01 01:58:53
我剛剛讀完整個頁面(最後一個網址)。這非常有啓發性。你值得+1 – 2014-09-01 14:43:32
我不知道你的「更新」是什麼意思。該代碼根本不應該編譯。我希望g ++首先會抱怨關於closeDL()被重新定義,即使g ++沒有抱怨未知符號「HMODULE」。 – 2014-09-01 01:31:55
嗯......其實我明白我沒有看到balises'#ifdef _win32'所以從來不知道,我會刪除我的更新 – 2014-09-01 01:49:14