VC++6.0配置LUA环境和C++调用LUA的简单示例
2011-03-31 01:38
966 查看
一、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;
}
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;
}
相关文章推荐
- VC6.0配置LUA编译环境及LUA调用C++函数的简单示例
- VC6.0配置LUA编译环境及LUA调用C++函数的简单示例
- lua环境的配置以及c++调用lua的简单例子
- lua学习系列:c++调用lua脚本的简单示例
- C++调用Lua编程环境搭建及测试代码示例
- C++调用Lua读取配置文件的一个简单例子
- C++中调用Lua配置文件和响应函数示例
- C++调用Lua编程环境搭建及测试代码示例
- Linux环境下proc的配置c/c++操作数据库简单示例
- C++调用Lua编程环境搭建及测试代码示例
- C++调用Lua编程环境搭建及测试代码示例
- Lua在vs2013的配置环境以及C++如何调用lua
- C++程序调用Python的函数(简单应用)及Ubuntu16.04下codeblocks的环境配置
- Lua在vs2013的配置环境以及C++如何调用lua
- lua学习(三)--------lua调用c++函数和简单的错误处理
- 简单将sublime text 配置为lua或c#一键编译运行环境
- windows环境下最简单的nginx + tomcat负载均衡配置示例
- 通过编译luaSQL调用ODBC连接Access以及给OpenResty(LuaJIT)编写简单的C扩展示例
- tensorflow r1.4 ubuntu14.04 C++ API调用 环境配置教程
- 简单C++调用lua函数的小例子