首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

C语言插件开发形式

2013-02-25 
C语言插件开发模式以前总是不明白为什么不同的模块是相互独立的编译,相互之间不存在的调用关系, 怎么做到

C语言插件开发模式

       以前总是不明白为什么不同的模块是相互独立的编译,相互之间不存在的调用关系, 怎么做到在使用的时候加载不使用的时候卸载掉? 现在总算是明白了。其实就是将一个功能做成一个动态库,在window中叫dll,在Unix/Linux中叫做so。通过配置在运行的时候,在运行的时候,通过一些特殊的函数对dll或者so进行操作。找到函数的地址,调用函数。在使用函数的时候找函数,不是使用的时候释放就可以了。

           我也找不到合适的列子。我直接上代码吧。通过输入不同的so或者dll执行不同的内容。本文件以Unix/Linux中的C语言代码为例子。使用到的知识很简单。就是dlopen和dlsym函数。所有的函数都在dlfcn.h头文件中。

          

gcc -rdynamic -o test  test.c dll.h -ldl  //-ldl (指定dl库)因为dlopen和dlsym在dl库中gcc -shared -o module1.so  module1.c dll.hgcc -shared -o $module2.so module2.c dll.h

将会根据输入的不同显调用不同的dll中的函数。
.

blog: http://blog.csdn.net/rentiansheng/article/details//8606125 

热点排行