配置文件处理向来是很麻烦的事情,如果用ini要自己写parser,用xml装个libxml库。
然而在使用awesome的过程中,我发现了他的配置文件是用lua写的,我瞬间想到了wow插件= =
这个"配置文件"里竟然可以定义函数!比xml强大多了!
安装lua后,就会出现lua.h , lualib.h , lauxlib.h这几个库
C++里引用时需要extern "C" 使得编译后的命名方式与C相同
嵌入lua的方式大概就是将lua代码(文件或输入均可)构成一个环境(State)
通过栈的方式取出变量甚至是函数。
下面是个example
#include <stdio.h>
#ifdef __cplusplus
extern "C"
{
#endif
#include <lua.h>
#include <lauxib.h> //这是一个辅助库(auxiliary library),把lua.h里的基本API组合起来方便使用,所有函数以luaL_开头
#include <lualib.h>
#ifdef __cplusplus
}
#endif
int main()
{
lua_State *L=lua_open(); //创建一个lua环境
luaL_openlibs(L);//打开基本库,这是lua 5.1下的用法,如果你是旧版的,请升级
luaL_loadfile(L,"aplusb.lua"); //从aplusb.lua文件里读入代码
lua_pc