http://blog.163.com/dang_wenyun/blog/static/42206525200911317247238/
2. 编写动态连接库,保持为mylib.c
3. 定义库函数,这里以pil的lsin函数,输出传入参数的sin()值
4. 定义luaL_reg数组,这个是注册一系列公开给lua调用的函数数组. 数组最后一个元素必须是 {NULL, NULL} 的luaL_reg结构用来做结束标识.
6. 用luaL_openlib声明主函数
#include <math.h> |
编译mylib.c为共享库文件(共享库命名规则:libxxx.so xxx为名字)
#gcc mylib.c -fPIC -shared -o libmylib.sode> |
把libmylib.so copy到:/usr/lib 或/lib下面(系统寻找的路径)
#cp libmylib.c /usr/libde> |
在lua下测试:
#lua5.1de> >> package.loadlib("libmylib.so", "luaopen_mylib")() |
package.loadlib("libmylib.so", "luaopen_mylib")()
可以换成路径package.loadlib("/路径/libmylib.so", "luaopen_mylib")()