C/C++脚本接口神器:Lua

Lua已经为很多人所熟知了,我也用了快一年的Lua了。

 

Lua的优点众所周知:短小、精悍、高效、可移植性好。有人喜欢拿Lua和JS、Python等脚本语言比较,其实是没有看重Lua独一无二的神奇的地方:在做C/C++脚本接口的时候,Lua十分方便,代价很小。通过Lua_thinker或者tolua等工具库进行导出c++类和函数,那就更轻松了,这一点,换其他任何语言都没有这么简单方便,Lua可谓无可替代。

 

Lua流行的起源在游戏,现在很多专业软件也大量支持Lua,比如PhotoShope等等。从我自己的使用经验来看,我总结Lua无可替代的场景:

1、对运行性能要求很高,因而一般都是c/c++编写的(专业软件、游戏等等);

2、业务逻辑不简单。

在这种场景下,由C/C++编写底层的支持库(数据读写、数据查找分析、数据处理转换、数据显示,等等),而上层的界面编排、交互设计、功能操作设计都由Lua代码完成;这样的设计就兼顾了高性能和业务的高灵活性。

 

最后,推荐几个我觉得很不错的lua工具库:

1、lua_thinker,仅仅两个文件,能方便地把函数、c++类导出到lua中;

2、qtLua,导出了qt常用的界面类,配合qt制作的.ui界面文件,可以很方便地在lua中显示界面(我主要用于显示对话框);

3、luacom,用于直接调用COM组件。

 

posted @ 2019-03-11 15:07  pmc1  阅读(853)  评论(0编辑  收藏  举报