简单的c++调用lua详解
来源:互联网 发布:涉密网络保密检查标准 编辑:程序博客网 时间:2024/05/22 01:26
[huangxw3@ubuntu]$cat add.lua
function add ( x, y )
return x + y
end
[huangxw3@ubuntu]$cat main.cpp
#include <stdio.h>
#include <iostream>
extern "C"{
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
}
using namespace std ;
lua_State * L;
int luaadd (int x,int y)
{
int sum;
//函数名
lua_getglobal(L, "add");
//参数压栈
lua_pushnumber(L, y);
lua_pushnumber(L, x);
//调用函数
lua_call(L, 2, 1);
//得到返回值
sum = (int)lua_tonumber(L, -1);
lua_pop(L, 1);
return sum;
}
int main ( int argc, char *argv[] )
{
int sum;
int error ;
//创建一个指向Lua解释器的指针。
try
{
L = lua_open();
luaopen_base(L); // 加载Lua基本库
//函数加载Lua库
luaL_openlibs(L);
//加载脚本
error = luaL_dofile(L,"add.lua");
//调用函数
sum = luaadd( 10, 11);
// print the result
printf( "The sum is %d\n", sum );
getchar(); // console程序调试技巧,方便观察结果
//关闭释放资源
lua_close(L);
}
catch(...)
{
cout <<"lua err!"<< endl;
}
return 0;
}
[huangxw3@ubuntu]$ g++ main.cpp -llua –ldl –o main
[huangxw3@ubuntu]$./main
The sum is 21
- 简单的c++调用lua详解
- C语言调用lua的简单例子
- 关于Lua调用C的简单demo
- C调用LUA创建一个简单的LUA解释器
- C调用LUA函数的一个简单Demo
- C调用Lua -- 简单的解释器程序实现
- C遍历LUA表和调用LUA函数的简单Demo
- c 调用lua 最简单例子
- c调用lua 配置简单例子
- lua调用c++dll 简单案例
- 详解C调用lua脚本效率测试
- lua 和c的调用
- lua 函数调用1 -- 闭包详解和C调用
- lua 函数调用1 -- 闭包详解和C调用
- C++调用lua简单的例子
- lua学习系列:c++调用lua脚本的简单示例
- [Lua]C/C++调用Lua
- [lua]C调用lua函数
- javascript window对象
- 详解Oracle多种表连接方式
- [Android]照相机范例代码
- Win32 API 多线程编程例程二
- 计算PageRank
- 简单的c++调用lua详解
- asp.net 操作Access数据库
- 守护(后台)进程的创建
- C++读取excel
- Android ListView详解
- 计算机网络 CRC循环冗余校验码
- 简答的lua调用c++函数例子
- wince下串口C++封装类
- hdoj1102