在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文檔學習了——唉,上了年紀以后學習新東西的難度大多了。
原文鏈接:http://tech.it168.com/j/2008-02-17/200802171040545.shtml