在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