LUA与C++通信(一)


1. 下载lua源文件  下载地址http://www.lua.org/download.html
2. 编译lua源文件  在lua源文件目录下创建 run.bat  内容如下
cd src 
cl /O2 /W3 /c /DLUA_BUILD_AS_DLL l*.c 
del lua.obj luac.obj 
link /DLL /out:lua52.dll l*.obj 
cl /O2 /W3 /c /DLUA_BUILD_AS_DLL lua.c luac.c 
link /out:lua.exe lua.obj lua52.lib 
del lua.obj 
link /out:luac.exe l*.obj 
cd .. 


3.  使用VS自带的命令提示符工具编译在Visual Studio Tools目录中的Visual Studio 命令提示(2010) 直接运行run.bat文件即可   


测试代码如下
test.lua


function show()


     print("hello world !");
end


C++代码如下 
// LuaToC.cpp : 定义控制台应用程序的入口点。
//


#include "stdafx.h"
#include <process.h>


extern "C" {   
#include <lua.h>   
#include <lauxlib.h>   
#include <lualib.h>   
}
#pragma comment(lib,"lua52.lib")


int _tmain(int argc, _TCHAR* argv[])
{
lua_State *L=luaL_newstate();//打开lua
luaL_openlibs(L); //加载lua库




//加载脚本文件
luaL_loadfile(L,"test.lua");
//解析脚本到lua
lua_resume(L,0,0);


//调用全局函数
lua_getglobal(L,"show");


if (lua_resume(L,0,0))
{
printf("%s\n",lua_tostring(L,1));
}
//调用结束
lua_close(L);
return 0;
}


4 以上弄好  直接运行即可记得一点test.lua放到C++项目文件下


PS:有可能会出现找不到lua52.lib的错误  在刚刚编译好的lua源文件下有一个lua52.lib和lua52.dll拷到项目文件下即可
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值