lua调用c函数
2015-10-15 08:26
706 查看
1.c函数封装成库,代码如下:
2.在 lua中调用,代码如下:
#include <stdio.h> #include <lua.h> #include <lualib.h> #include <lauxlib.h> //2 args static int add(lua_State* L) { double a = luaL_checknumber(L,1); double b = luaL_checknumber(L,2); lua_pushnumber(L,a+b); return 1; //1个返回值 } static const luaL_reg mylibs[] = { {"add",add}, {NULL,NULL} }; //1. 其函数名必须为luaopen_xxx,其中xxx表示library名称。Lua代码require "xxx"需要与之对应。 //2. 在luaL_register的调用中,其第一个字符串参数为模块名"xxx",第二个参数为待注册函数的数组。 int luaopen_myaddlib(lua_State* L) { const char* libName = "myaddlib"; luaL_register(L,libName,mylibs); return 1; }
2.在 lua中调用,代码如下:
require "myaddlib" print(myaddlib.add(1,2))
相关文章推荐
- opentesty--luasocket 安装
- ngx lua
- 关于quick里面报SIGSEGV(SEGV_MAPERR) libgame.so lua_gettop错误
- lua中字符串匹配笔记
- lua string库
- c调用lua函数
- 【Lua】lua内存泄漏
- skynet的流程分析一
- Lua String
- lua环境安装 转
- lua学习笔记10:lua简单的命令行
- lua和c交互用到的c api介绍
- Lua中的基本函数库
- Lua 错误与异常
- Lua学习笔记--简单的时间操作
- lua 中pairs 和 ipairs区别
- c++调用lua时简单打印lua栈
- c++调用lua堆栈一直增加,内存泄漏
- Lua基本语法介绍
- lua与c++交互(基础篇)