lua官网提供了一个解析lua的库,地址为 https://www.lua.org/download.html,我们可以下载该库的源码。
这个源码比较简单,readme里面也提供了编译的方法,但是默认的编译只编译为一个静态库,不能编译为动态库,如果想编译为动态库,需要修改他的makefile。修改内容如下:
- 修改根目录下的Makefile文件
TO_LIB= liblua.a 修改成 TO_LIB= liblua.a liblua.so
2.修改src/Makefile
LUA_A= liblua.a
LUA_SO= liblua.so (新添加的行)
修改
a. 在CFLAGS=中添加-fPIC 编译选项
b.修改ALL_T:
ALL_T=$(LUA_A) $(LUA_T) $(LUAC_T) $(LUA_SO)
c. 添加:
$(LUA_SO): $(BASO_O)
$(CC) -O $@ -shared $? -ldl -lm
然后就可以编译了,在linux上为:
make linux
make install INSTALL_TOP=/develop/lib
https://bitbucket.org/MartinFelis/luatables/src/default/ 这个开源的code是使用上面编译的Lua库来实现配置文件的parse和save.