c调用lua函数
2015-10-14 13:14
417 查看
1.lua函数如下:
--add.lua function add(a,b) return a+b end
2.c调用lua的函数,代码如下:
#include <stdio.h> #include "lua.h" int main(int argc, char const *argv[]) { /* code */ lua_State* L = luaL_newstate(); if((luaL_loadfile(L,"./add.lua")) || (lua_pcall(L,0,0,0))) { fprintf(stderr, "error:%s\n", lua_tostring(L,-1)); return; } lua_getglobal(L,"add"); //function to be called lua_pushnumber(L,5); //1st args lua_pushnumber(L,10); //2st args /* do the call (2 arguments, 1 result) */ if (lua_pcall(L, 2, 1, 0) != 0) error(L, "error running function `f': %s",lua_tostring(L, -1)); /* retrieve result */ if (!lua_isnumber(L, -1)) error(L, "function `add' must return a number"); double c = lua_tonumber(L, -1); lua_pop(L, -1); /* pop returned value */ fprintf(stderr, "c = %g\n",c); lua_close(L); return 0; }
相关文章推荐
- 【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++交互(基础篇)
- 【Lua】C-API
- 简单的Lua 连接操作mysql数据库的方法
- Lua的require使用
- Tengine + Lua + GraphicsMagick
- lua 的安装
- Lua入门