在C工作共享庫,在UNIX的頂部,我加載和使用共享庫有點如下:編程在Unix上:與圖書館
...
handle = dlopen("nameOfLib");
...
libInit();
...
libGoToState1();
libGoToState2();
....
libTerminate();
...
dlclose(handle);
...
我想是我的申請承認'插件「,它採用可動態加載的庫的形式,遵循給定的API。
其中一個棘手的部分是,我想在調用libInit()
後加載插件,我希望插件能夠調用libGoToSomeOtherState()
,改變庫的狀態,但使用與應用程序相同的「會話」加載它。
任何想法,我需要如何去編碼這是值得讚賞的。
具體來說,需要進入插件和主程序的.c文件以便共享一個庫實例,狀態和全部內容?
相關:http://stackoverflow.com/questions/1602398/linux-dlopen-can-a-library-be-notified-when-it-is-loaded – jldupont 2010-01-21 17:09:28
你需要「輪候冊, - 出口動態「選項鍊接可執行文件時,如果你想動態庫回調到exe本身。 – 2010-01-21 17:19:44