Lua 教程-01
下载源码
去官网下载lua源码,比如版本5.3.3
编译
根据readme中提示:
- library:
- lapi.c lcode.c lctype.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 lbitlib.c lcorolib.c ldblib.c liolib.c lmathlib.c loslib.c lstrlib.c ltablib.c lutf8lib.c loadlib.c linit.c
- interpreter:
- library, lua.c
- compiler:
- library, luac.c
其实可以写一个cmake文件试试,不过网上有现成的bat,那就直接拿来用吧
cd src
cl /O2 /W3 /c /DLUA_BUILD_AS_DLL l*.c
del lua.obj luac.obj
link /DLL /out:lua53.dll l*.obj
cl /O2 /W3 /c /DLUA_BUILD_AS_DLL lua.c luac.c
link /out:lua.exe lua.obj lua53.lib
del lua.obj
link /out:luac.exe l*.obj
cd ..
打开vs的命令工具,执行,就可以了。最后得到三个文件
其它方法
组成分析
可以知道lua由3部分组成:
- Lua链接库
- Lua解释器
- Lua编译器
用vs分开编译
编译Lua链接库
- 新建vs项目
- 将src目录下文件全部拷贝到项目中,删除lua.c,luac.c和lua.hpp
- 可以设置编译64位,Configuration Type Static library(.lib), Precompiled Header: Not using Precompiled Header, Multi-threaded(/MT).
- 得到Lua53.lib文件
编译Lua解释器
- 新建vs项目
- 将src目录下文件全部拷贝到项目中,删除luac.c
- 设置当前项目以来与Lua53项目
- 编译后会得到Lua.exe 文件,这就是Lua解释器lua.exe
编译Lua编译器
- 新建vs项目
- 将src目录下文件全部拷贝到项目中,删除lua.c
- 设置当前项目以来与Lua53项目
- 编译后会得到Luac.exe 文件,这就是Lua编译器Luac.exe
验证
- 点击Lua.exe
- 输入:
io.write("Hello I get a powerful program language called Lua \n")
io.write(string.format("This Lua is %s and now is %s \n",_VERSION,os.date()))
- 会输出相应信息