VC编译LUA与调用
来源:互联网 发布:淘宝有些不能发图评价 编辑:程序博客网 时间:2024/05/29 13:41
环境vs2010,lua版本5.2新件一个空项目,添加所有src内的文件,然后移除lua.c, lua.h, luac.c, print.c文件.
选择项目-属性-配置属性-常规-配置类型,即可选择生成静态库或动态库.
下面演示一个c++调用lua函数的例子.
test.lua代码
function MaxMin(x, y)if x > y thenreturn "x > y", x, yelseif x == y thenreturn "x = y", x, yelsereturn "y > x", y, xendend
c++代码
extern "C" {#include "../lua5.2/src/lua.h"#include "../lua5.2/src/lauxlib.h"#include "../lua5.2/src/lualib.h"};#pragma comment(lib, "../Release/lua5.2.lib")void MaxMin(lua_State* L, int x, int y){lua_getglobal(L, "MaxMin");//参数1lua_pushnumber(L, x);//参数2lua_pushnumber(L, y);//2个参数,3个返回值lua_pcall(L, 2, 3, 0);const char* c = lua_tostring(L, -3);lua_Number n1 = lua_tonumber(L, -2);lua_Number n2 = lua_tonumber(L, -1);cout<<c<<" "<<"Max = "<<n1<<", Min = "<<n2<<endl;//元素出栈lua_pop(L, 3);}int _tmain(int argc, _TCHAR* argv[]){lua_State* L = luaL_newstate();if(!luaL_loadfile(L, "d:\\test.lua")){if(!lua_pcall(L, 0, 0, 0)){MaxMin(L, 1, 2);MaxMin(L, 3, 3);MaxMin(L, 9, 8);}}lua_close(L);return 0;}输出结果:
y > x Max = 2, Min = 1x = y Max = 3, Min = 3x > y Max = 9, Min = 8请按任意键继续. . .
- VC编译LUA与调用
- VC编译LUA与调用
- VC编译LUA与调用
- vc++工程中添加lua代码调用-编译lua静态库文件
- VC++和Lua交互(VC调用Lua函数)
- VS2010编译、调用Lua程序
- lua编译与反编译
- Lua与C++ 调用
- c++与lua调用
- lua 与VC环境配置
- Lua与VC的交互
- Lua Lib在VC下的编译
- Windows下用VC编译Lua
- Lua在VC环境下的编译
- VC++调用Lua有参数的函数
- Lua学习(1),编译Lua与 HelloWorld
- lua study & c与lua相互调用
- lua与c互调--c调用lua
- 说说心情
- Junction v1.06
- 内核编译步骤
- 两种方法用格里高公式求π=(1-1除以3+1除以5-················)*4
- STL系列之十 全排列(百度迅雷笔试题)
- VC编译LUA与调用
- boost之spirit学习-mini_c(3)
- syn flood attack
- Android学习总结目录
- 二叉树递归创建遍历
- 2012-3-22日总结
- Ruby FFI - Ruby调用C库最棒的工具
- 表的有关操作
- TortoiseSVN搭建本地版本库及简单操作使用