lua语言可以直接调用c/c++函数,进一步扩展业务功能。详细步骤如下:
1. 准备lua库文件,如果本地安装了lua程序,可以搜索“lua.h”文件,将该目录所有文件拷贝至开发目录。
2. 新建c文件,如mylua.c,包括以下内容。
说明如下:
luaopen_* : * 表示模块名称, lua文件引用模块时对应的包名称(如require "mylua"),luaL_register的第二个参数与* 保持一致.
mylib:表示函数数组,结尾为{NULL,NULL},其中第一个参数为lua调用函数,第二个参数为对应c语言方法。
add:自定义的方法名称,参数只有一个lua_State *L,返回值1表示成功
3,将mylua.c 生成动态库文件,linux命令如下
gcc -fPIC -shared -o mylua.so mylua.c
4, 将mylua.so文件放到lua_path目录下
mv mylua.so /usr/lib64/lua/5.1/mylua.so
5,lua文件中的使用如下:
require "mylua"
print(mylua.add(2,4))