首页 > 代码库 > Vs2012 编译配置 Lua5.2.3

Vs2012 编译配置 Lua5.2.3

作为手游客户端的一个程序猿,肯定碰到过这样的问题,游戏已经提交发布,但是第二天大清早就发现游戏有一个逻辑BUG,怎么办,不严重的话一般采取 非强制更新。如果是一个严重的BUG,那就要强制玩家更新了。但是前天晚上刚刚下载的游戏,第二天早上就要重新下载!我们的游戏不是金条,玩家没有那么大 的耐性来下载第二次,这个时候,大批的玩家就流失了!

特别是对于AppStore,一个游戏提交审核要半个月,这半个月如果发现严重BUG,那游戏公司就只能眼巴巴看着玩家流失!

这个时候Lua的优势就体现出来,只要更新几个文本文件,就解决了一个BUG,玩家不用重新下载安装包,也省去了半个月提交审核的时间!

下面我们就来学习,如何在Win平台使用Lua 。


首先,我们先去下载Lua:

[html] view plaincopy在CODE上查看代码片派生到我的代码片
  1. http://www.lua.org/download.html  

作为一个脚本库,Lua真的很小巧!

下载完毕,解压之后,来到 Src文件夹,这里就是Lua的全部代码。

我们要把这几十个代码编译成Lib以便我们在Windows上使用!

打开Vs,新建一个空项目。

然后把Src目录下面的代码都加入到项目工程中。

打开  lua.c     文件,找到main 函数,修改为 lua_main()

打开  luac.c   文件,找到main函数,修改为  luac_main()

修改项目属性为lib

然后生成!

生成成功之后,我们在Debug文件夹找到生成的 lualib.lib 文件。


Lua编译完毕


下面我们新建一个测试工程来测试

新建一个空项目,配置头文件目录,引用库目录,以及需要引用的库。

头文件目录:lua解压后src目录

引用库目录:编译生成lualib.lib的目录

引用的库:lualib.lib


添加一个文件,输入以下代码:

[cpp] view plaincopy在CODE上查看代码片派生到我的代码片
  1. #include <stdio.h>  
  2. #include<windows.h>  
  3. #include "lua.h"  
  4. #include "lualib.h"  
  5. #include "lauxlib.h"  
  6. #include "luaconf.h"  
  7.   
  8.   
  9. int main(int argc, char* argv[])  
  10. {  
  11.     lua_State* L = luaL_newstate();  
  12.     luaL_openlibs(L);  
  13.     luaL_dofile(L, "./test.lua");  
  14.     lua_close(L);  
  15.   
  16.     system("pause");  
  17.     return 0;  
  18. }  


从上面代码我们看到,打开了一个test.lua的文件,我们在上面代码文件的同级目录新建一个test.lua 

[cpp] view plaincopy在CODE上查看代码片派生到我的代码片
  1. function show()  
  2.     local b = {}  
  3.     local index  
  4.       
  5.     for index = 1,10,1 do  
  6.         print(index)  
  7.     end  
  8. end  
  9.   
  10. show()  


运行,如果打印出1-10,说明成功了!

Vs2012 编译配置 Lua5.2.3