C++调用lua简单的例子
来源:互联网 发布:创维电视网络直播软件 编辑:程序博客网 时间:2024/05/21 22:25
首先配置环境,百度文库里这个讲的很详细
http://wenku.baidu.com/view/7912da3667ec102de2bd8957.html
环境配置好之后,我也写了个简单的调用
main.cpp
#include <stdio.h>
extern "C"{
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
};
lua_State *L;
int luaAdd(int x, int y)
{
int sum;
lua_getglobal(L, "add");
lua_pushnumber(L, x);
lua_pushnumber(L, y);
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 = 0;
L = lua_open();
luaopen_base(L);
luaL_openlibs(L);
luaL_loadfile(L, "add.lua");
lua_pcall(L, 0, LUA_MULTRET, 0);
sum = luaAdd(10, 15);
printf("The sum is %d\n", sum);
lua_close(L);
return 0;
}
Add.lua
1 --简单的例子,只做整数加法
2 function add(x, y)
3 return x + y
4 end
当编译之后没有问题,执行时出了点问题,如下:
PANIC: unprotected error in call to Lua API (attempt to call a nil value)
结果google了一下,说是luaL_loadfile换成luaL_dofile,当时我用的就是luaL_dofile,这是可能的一个原因,但不是我的。
最终找到原因,add.lua放的位置不对,我将它放在vs的和.cpp文件相同的目录下不行,之后放到里面的工程目录即可。
提供luaIDE下载: http://www.blueantstudio.net/content/index_static.php
注:内容转载自: http://www.cnblogs.com/good90/archive/2012/08/19/2645997.html
- C语言调用lua的简单例子
- c 调用lua 最简单例子
- c调用lua 配置简单例子
- C++调用lua简单的例子
- C++ 调用Lua简单例子
- C++ 调用Lua简单例子
- C++ 调用Lua简单例子
- 关于Lua调用C的简单demo
- C调用LUA创建一个简单的LUA解释器
- 简单C++调用lua函数的小例子
- C++调用Lua读取配置文件的一个简单例子
- lua和c语言互相调用的例子
- LUA与C++互相调用简单例子
- lua环境的配置以及c++调用lua的简单例子
- C调用LUA函数的一个简单Demo
- C调用Lua -- 简单的解释器程序实现
- C遍历LUA表和调用LUA函数的简单Demo
- lua调用c++dll 简单案例
- 苹果新手机采 OLED,背光改革
- oracle 分区详解
- GeoTrust 企业(OV)型 增强版(EV) 多域名(SAN/UC) SSL证书
- MapReduce: Simplified Data Processing on Large Clusters
- 内联函数和宏定义的区别
- C++调用lua简单的例子
- 小技巧:onchange事件+iframe 模拟异步文件上传
- 应用开发工程依赖Jar包系列(一)--Spring框架
- 安卓基础(一),简单控件的简单应用
- android 页面跳转到上个页面后之后再返回,页面没变
- python3抓取到的拉勾数据统计
- Linux下C函数snprintf的使用
- JS代码判断IE6,IE7,IE8,IE9
- Oracle EBS 洽谈报价的操作流程测试