最近技术总监让我用动态链接库的方式将ShinyNova新版聊天框集成到大厅中,以降低大厅对ShinyNova引擎的依赖。
研究了一整天动态链接库相关,顺便看了看QQ的插件文件结构。我猜测他的每个插件都是显式加载的,在dll的声明中把几个标准的入口函数都声明成成标准名:如“IniPlugin()”。这样只需要一个配置文件来保存插件dll名,甚至用搜索文件目录的方式就可以自动加载所有的插件。
由此想到wow加载lua脚本插件的方式应该类似。
最近技术总监让我用动态链接库的方式将ShinyNova新版聊天框集成到大厅中,以降低大厅对ShinyNova引擎的依赖。
研究了一整天动态链接库相关,顺便看了看QQ的插件文件结构。我猜测他的每个插件都是显式加载的,在dll的声明中把几个标准的入口函数都声明成成标准名:如“IniPlugin()”。这样只需要一个配置文件来保存插件dll名,甚至用搜索文件目录的方式就可以自动加载所有的插件。
由此想到wow加载lua脚本插件的方式应该类似。