lua编译

来源:互联网 发布:abb机器人编程调试 编辑:程序博客网 时间:2024/05/16 18:20

 

 

 

lua是一个脚本语言,它的编译器非常简单。一般而言,lua在游戏里面使用得比较多。它可以通过类似于脚本的形式把函数的功能串行起来,实现很多不可思议的效果。现在关于lua的资料比较少,主要有两个文档可以介绍一下。一个是云风翻译的lua手册,另外一本就是lua作者编写的《Programmingin lua》。可是很多朋友看完了这两本资料之后还是不太清楚该怎么使用。今天乘着有空,可以把自己的一些使用经验来写一写。我们可以把lua看成是lib库,在使用的时候把这个lib添加到自己的工程里面就可以了。这里介绍的方法是windows编译lua的方法,如果是linux系统请参考其他文档。

 

    1)下载lua工程,下载地址为http://www.lua.org/ftp/,可以随便挑选一个版本即可;

    2)利用vs2005创建一个solution

    3)在solution中创建两个工程,一个是lualib,一个是lua

    4)将下载的lua工程解压,同时把src/下面的代码添加到lualib工程中;

    5)将lua.c中的main函数修改为lua_main,将luac.c中的main函数修改为luac_main

    6)编译lualib工程生成lualib.lib

    7)在lua工程中添加code.c,同时修改includedirlib dir,同时在AdditionalDependencies中添加lualib.lib

    8)在code.c中添加代码,内容如下,

[cpp] view plaincopyprint?

1.  #include <stdio.h>  

2.    

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, "C:/Documents and Settings/fxx/桌面/lua/debug/test.lua");  

14.     lua_close(L);  

15.   

16.     return 0;  

17. }  

#include <stdio.h>
 
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
#include "luaconf.h"
 
 
int main(int argc, char* argv[])
{
 lua_State* L = luaL_newstate();
 luaL_openlibs(L);
 luaL_dofile(L, "C:/Documents and Settings/fxx/桌面/lua/debug/test.lua");
 lua_close(L);
 
 return 0;
}

   (9)此时,我们还需要创建test.lua文件,内容如下,

[cpp] view plaincopyprint?

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()  

function show()
  local b = {}
  local index
  
  for index = 1,10,1 do
    print(index)
  end
end
 
show()

(10)编译lua工程,ctrl+F5运行,如果你此时看到了10个打印的数字,那说明lua编译成功了。

 

 

 

 

原创粉丝点击