VC++6.0配置LUA环境和C++调用LUA的简单示例
来源:互联网 发布:电脑卫视直播软件 编辑:程序博客网 时间:2024/04/29 22:54
一、VC++6.0配置LUA环境和C++调用LUA的简单示例
LUA版本: 5.1.3 (http://www.lua.org下载lua 5.13源代码)
编译lua 5.13源代码:(你可下载别人编译的,)
配置LUA环境:工具→选项→目录,然后
include files:见图(修改为你的LUA相应路径即可)
library files:(同上)
可执行文件:D:/PROGRAM FILES/LUA-5.1.3/LUA-5.1.3/BIN(可略)
Test.lua的内容如下:
function MyLuaAdd ( x, y)
return x + y
end
VC++中.cpp的内容如下:(解释见“C/C++函数调用LUA函数”部分)
//运行时,复制lua51.dll到.cpp同路径下(或系统的system32,如:C:/WINDOWS/system32)
// include部分是上图中绿框中的内容
int main()
{
lua_State* L = lua_open(); // 初始化LUA环境
luaopen_base(L); // 打开LUA基本库
// luaopen_table(L);
// luaopen_string(L);
// luaopen_math(L);
// luaL_openlibs(L);
int iError;
iError = luaL_loadfile(L, "Test.lua"); // 装载LUA文件
if (iError) {
std::cout << "Load script FAILED! "
<< lua_tostring(L, -1) // query error
<< std::endl;
lua_close(L);
return 1;
}
iError = lua_pcall(L, 0, 0, 0); // 测试是否支持lua_pcall
if (iError) {
std::cout << "pcall FAILED "
<< lua_tostring(L, -1) // query error
<< iError
<< std::endl;
lua_close(L);
return 1;
}
lua_getglobal(L, "MyLuaAdd"); // push MyLuaAdd-fuction
lua_pushnumber(L, 10); // push first-argument
lua_pushnumber(L, 11); // push second-argument
lua_pcall(L, 2, 1, 0); // call fuction:MyLuaAdd
std::cout << " MyLuaAdd (10, 11) == "
<< lua_tonumber(L, -1) // query result
<< std::endl;
lua_pop(L,1); // discard result from stack
lua_close(L);
getch();
return 0;
}
- VC++6.0配置LUA环境和C++调用LUA的简单示例
- VC6.0配置LUA编译环境及LUA调用C++函数的简单示例
- VC6.0配置LUA编译环境及LUA调用C++函数的简单示例
- 【转】lua和c互相调用的程序示例
- lua学习系列:c++调用lua脚本的简单示例
- lua环境的配置以及c++调用lua的简单例子
- c调用lua 配置简单例子
- lua 和c的调用
- C调用LUA创建一个简单的LUA解释器
- C语言调用Lua+Lua环境搭建
- lua 与VC环境配置
- C遍历LUA表和调用LUA函数的简单Demo
- C语言调用lua的简单例子
- 关于Lua调用C的简单demo
- Lua和Java的相互调用(配置)
- C和lua的互相调用
- Lua和C的互相调用
- C和lua的互相调用
- .NET Remoting与分布式应用开发
- 我觉得十分好的20条编程经验
- unread block data
- 程序员面试前最好预先做好准备的32条问题
- 最全面、最简要的CSS Hack总汇(网上收集)
- VC++6.0配置LUA环境和C++调用LUA的简单示例
- C/C++函数调用LUA函数
- 字体:Verdana
- 在LUA脚本中调用C/C++函数
- 为LUA封装C/C++函数(不涉及结构体等参数形式)
- 托管C++
- 及时地反馈
- 晚安。
- 常见排序算法(插入排序-曾经的笔记)