最近感觉没啥可看,就看一下lua源码,打发打发时间吧。
首先需要下载编译lua源码了,笔者是在Windows+VS2005下编译通过
1.首先需要去官方网站上下载lua源码,到www.lua.org上下载lua源码,目前最新版本是5.1 RC4版本lua-5.1.4.tar.gz,解压之后,目录下有install文件,在该文件中详细说明了在linux下编译的过程,visual studio下的编译也提了一下
2.编译lualib
新建一个vc++控制台工程lualib,“应用程序设置”--->静态库,把默认生成的.h,.cpp删除,在设置一下不使用预编译头, 右键lualib工程-->添加--->添加现有项-->把lua源码的解压目录下src目录中的下列文件加入(如下的文件列表是在install中有说明的):
library: lapi.c lcode.c ldebug.c ldo.c ldump.c lfunc.c lgc.c llex.c
lmem.c lobject.c lopcodes.c lparser.c lstate.c lstring.c
ltable.c ltm.c lundump.c lvm.c lzio.c
lauxlib.c lbaselib.c ldblib.c liolib.c lmathlib.c loslib.c
ltablib.c lstrlib.c loadlib.c linit.c
编译之后,会生成一个lualib.lib文件;
3.编译luac编译器
新建一个vc++控制台工程luac,把默认生成的.h,.cpp删除,设置一下不使用预编译头,右键luac工程--->添加--->添加现有项--->把lua源码的解压目录下src目录中的luac.c加入,右键项目依赖,依赖lualib,编译生成luac.exe;
4.编译lua解释器
新建一个vc++控制台工程lua,把默认生成的.h,.cpp删除,设置一下不使用预编译头,右键lua工程--->添加--->添加现有项--->把lua源码的解压目录下src目录中的lua.h, lua.c加入,右键项目依赖,依赖lualib,编译生成lua.exe;
5.双击生成的lua.exe,就运行起了lua解释器,可以在里面输入lua代码执行了:
6.调试lua
在lua.c文件中的main函数中下断点,F5运行,就会断下来了,如果想在解释器中执行lua代码的时候断下来,就需要在lua.c的loadline函数中下断点了,最终会调用到lualib里面的load_string函数中