挖井

类库大魔王的挖井日记

挖一口属于自己的井


协件和插件

  昨天偶然想到,IceSword使用的协件机制是一种处理主程序与其它相关性不大的功能之间关系的不错的方法。虽然想到了这点,但并没有马上去看它是怎么实现的,于是自己躺在床上一边嗑瓜子一边想,想了一会儿大概有了个轮廓。今天起来看了下IceSword,发现基本上我想的也差不多就这样了。它有一个C的头文件,提供接口声明,一个DLL提供进程间通信。而我当时想到的是需要一个LIB,可以静态链接进协件。如果有很多接口需要暴露的话,用DLL会好一点,这样相比LIB,能减小每个协件的文件大小。另外唯一剩下需要考虑的是,采用怎样一个良好的进程间通信机制,要快速稳定,同时又不能太消耗系统资源。
  插件以前我只用过DLL形式的,其实似乎COM是很不错的一种选择,只不过我一直对COM没研究,看过一些文章,也还是没搞明白怎么用COM实现插件机制。了解过Eclipse和Emacs等弹性非常好的架构后,隐约觉得用脚本来实现插件也是一种极好的方法。重新修葺一遍代码,整理好功能接口,就可以为多种脚本提供支持了。不过还有一点需要注意的是,用脚本实现的插件,对界面的操作大概都需要主程序来支持了,比如显示一条消息,选择一个文件等。另外还有一点需要提到的是,如果主程序需要暴露很多接口给脚本插件,或者同时需要能支持多种脚本语言的话,使用SWIG是个不错的选择。

本文地址:

https://minidump.info/blog/2007/05/e5-8d-8f-e4-bb-b6-e5-92-8c-e6-8f-92-e4-bb-b6/

感觉本文不错,不妨小额鼓励我一下!
上一篇

五一了,哦耶

  七天长假哦,哈哈,不过也没怎么觉得兴奋,只是想着可以懒洋洋发躺在床上发呆了就感觉安逸。再想想还有一天一千的两天旅行,呵呵,对我来说很奢侈啊!  最近写blog的频率似乎降下来了,因为回到家都不怎么想动了,就看几集动画片,被小丫头知道后还要被嘲笑就这么点追求。工作忙也可以算是这么一个借口啊,...…

Water 全文阅读
下一篇

用VCL很痛苦的一件事

  用cnsw.org论坛上某位据说是mm的话说,VCL打从娘胎里就不支持UNICODE。这让我觉得很痛苦,自从在VC2005下用API写了几天代码后,就不知不觉习惯了想用_UNICODE选项来进行编译了。唉,可惜的是,我现在是严重依赖VCL画界面了,不用它我还真的不知道怎么实现一些界面效果,...…

Software 全文阅读