在BCB中使用Lua

由于想要在一个原生应用里提供脚本功能,而Python的发布不能不说是一件麻烦事。因为所需要的脚本功能很简单,所以决定试试传说中的Lua。

第一步,下载源码。虽然Lua有提供二进制版本下载,但是因为我是用Turbo C++ Explorer(即C++Builder的免费版),所以我决定还是自己编译一下源码。下载位置当然是Lua的官方网站:http://www.lua.org

第二步,编译安装。源码里只提供了GCC用的MAKE文件和VC用的一个BAT文件,BCB则需要自己动手了。开始不知道什么地方搞错,总是编译不对——虽然编译成功,但是执行出错。折腾了一阵子才总算大功告成,相应的编译参数如下:

bcc32 -DNDEBUG -DNO_STRICT;_NO_VCL -Hc -tWD -w-par -O2 -b- -k- -vi -tWM -tW- -c -DLUA_BUILD_AS_DLL -P- l*.c
del lua.obj
del luac.obj
ilink32 -Tpd -Gn -j -x -Gi c0d32.obj lapi.obj lauxlib.obj lbaselib.obj lcode.obj ldblib.obj ldebug.obj ldo.obj ldump.obj lfunc.obj lgc.obj linit.obj liolib.obj llex.obj lmathlib.obj lmem.obj loadlib.obj lobject.obj lopcodes.obj loslib.obj lparser.obj lstate.obj lstring.obj lstrlib.obj ltable.obj ltablib.obj ltm.obj lundump.obj lvm.obj lzio.obj, lua51.dll, , import32.lib cw32mt.lib, ,
del *.tds
del *.obj
bcc32 -D_isatty=isatty -DNDEBUG -DNO_STRICT;_NO_VCL -Hc -w-par -O2 -b- -k- -vi -tWC -tWM -tW- -c -DLUA_BUILD_AS_DLL -P- lua.c
ilink32 -Tpe -Gn -j -x c0x32.obj lua.obj, lua51.exe, , import32.lib lua51.lib cw32mt.lib, ,
del *.tds
del *.obj

第三步,Hello world。运行编译成功的lua51.exe试试:

print "Hello world!"

搞定。

剩下的工作就是读云风译的LUA文档学习了——唉,上了年纪以后学习新东西的难度大多了。-_-|||