Lua源码阅读一——在Windows下编译

来源:互联网 发布:node parseint 编辑:程序博客网 时间:2024/05/02 04:20

最近感觉没啥可看,就看一下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函数中