c语言与lua交互(capi)介绍, lua调用C语言函数详解(一)

来源:互联网 发布:国产 cpu.知乎 编辑:程序博客网 时间:2024/05/21 07:05

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))



0 0