创建插件管理系统

问题描述:

对于像Conky这样的创建插件管理系统,我有什么选择。我感兴趣的是为Conky创建一个系统,它允许我创建新的函数并通过共享库添加它们。我觉得这样可以更容易地为Conky创建新的配置和变量,而无需从源代码重新编译,并允许独立于Conky分享这些新功能。建立像这样的系统有哪些一般起点?共享库是最好的选择还是有更好的选择。创建插件管理系统

我认识的Conky已经有类似这样与调用系统shell并返回任何需要的能力的能力,但是很多功能我想补充会拖垮Conky的,除非直接写成,

+1

第一个起点:学习如何使用dlopen() – pzanoni 2012-04-29 15:03:14

看看dlopen()。

下面是一些很好的教程:http://www.yolinux.com/TUTORIALS/LibraryArchives-StaticAndDynamic.html

我做了类似的一个IRC bot我从头C.写了我以前的dlopen()做这样的事情的东西。 该机器人能够收集到它自己的新模块,并加载它们同时运行:)

考虑Conky的已经使用的GLib它的一些模块,你不妨看一看GLib库的模块系统(GModule):http://developer.gnome.org/glib/stable/glib-Dynamic-Loading-of-Modules.html

基于此的另一个方便的库是libpeas:http://developer.gnome.org/libpeas/stable/