去官网下载lua的最新版本:www.lua.org
Lua由三部分组成,即
* Lua链接库* Lua解释器
* Lua编译器
因此,对于Lua源代码的编译主要就是编译Lua链接库、Lua解释器和Lua编译器。
编译Lua链接库
- 使用Visual Studio 2012创建一个VC++项目,项目命名为Lua53,项目类型为静态库、不设置预编译头。
- 删除Visual Studio 2012自动创建的.cpp文件及其对应的.h文件。
- 将下载的Lua代码解压,将src目录下的全部文件拷贝到项目中,然后删除lua.c、luac.c和lua.hpp这三个文件。
- 编译项目会得到一个Lua53.lib的文件,这就是我们编译得到的Lua链接库。
编译Lua解释器
我们知道Lua解释器是一个可以直接运行Lua代码的可执行文件,因此
* 在同一个解决方案下继续创建VC++项目,项目命名为Lua,项目类型为控制台应用程序、不设置预编译头。
* 删除Visual Studio自动创建的.cpp文件及其对应的.h文件。
* 将下载的Lua代码解压,将src目录下的全部文件拷贝到项目中,然后删除luac.c这个文件。
* 设置当前项目依赖于Lua53项目
* 编译项目会得到一个Lua.exe文件,这就是我们编译得到的Lua解释器。
运行该程序,我们可以看到下面的结果:
测试一下该解释器:
编写一个lua文件,如下:
然后使用解释器执行这个Lua文件:
ok,解释器没问题。
编译Lua编译器
和Lua类似地,
* 在同一个解决方案下继续创建VC++项目,项目命名为Luac,项目类型为控制台应用程序、需设置预编译头。
* 删除Visual Studio自动创建的.cpp文件及其对应的.h文件。
* 将下载的Lua代码解压,将src目录下的全部文件拷贝到项目中,然后删除lua.c这个文件。
* 设置当前项目依赖于Lua53项目
* 编译项目会得到一个Luac.exe文件,这就是我们编译得到的Lua编译器。
lua编译器是编译我们的lua源代码的,lua源代码其实就是个文本文件,而编译后的文件就变成了二进制文件,这个类似于Javac的编译。
好了,至此,完成lua链接库、lua解释器、lua编译器的编译。