1、獲取lua
訪問(wèn)lua官網(wǎng):http://www.lua.org/
下載最新的lua版本lua-5.3.4.tar.gz,保存到本地,然后解壓文件。
2、了解lua代碼結(jié)構(gòu)
--lua目錄:
doc--文檔目錄,對(duì)當(dāng)前版本進(jìn)行說(shuō)明(編譯,安裝)
src--源碼目錄,包含所有l(wèi)ua源文件
Makefile
README
3、了解源碼編譯后的目標(biāo)文件
--lua:解釋器,用于解釋執(zhí)行腳本或字節(jié)碼文件
--luac:編譯器,用于將lua腳本文件(文本文件)編譯成字節(jié)碼文件(二進(jìn)制文件)
--liblua:靜態(tài)鏈接庫(kù),可鏈接至宿主程序
--lua5x:動(dòng)態(tài)鏈接庫(kù),可鏈接至宿主程序
4、了解基本命令--編譯和執(zhí)行
--lua
lua file_name
--luac
luac -o out_file file_name
5、實(shí)驗(yàn)
windows下輸出hello,lua!
(1)打開(kāi)命令行,將當(dāng)前目錄切換到lua目錄下
(2)命令行輸入 make進(jìn)行編譯
如果出現(xiàn)提示輸入平臺(tái)提示,如下圖所示,請(qǐng)?jiān)诿钚羞\(yùn)行 make mingw;
如果出現(xiàn)不識(shí)別make的提示信息,如下圖所示:
解決方法:
打開(kāi)Visual Studio /Developer Command Prompt,然后cd命令將當(dāng)前目錄切換為lua-5.3.4/src,并依次運(yùn)行下列命令:
cl /MD /02 /c /DLUA_BUILD_AS_DLL *.c
ren lua.obj lua.o
ren Luac.obj luac.o
link /DLL /IMPLIB:lua5.3.0.lib /OUT:lua5.3.0.dll *.obj
link /OUT:lua.exe lua.o lua5.3.0.lib
lib /OUT:lua5.3.0-static.lib *.obj
link /OUT:luac.exe luac.o lua5.3.0-static.lib
之后在src目錄下就生成了lua.exe和luac.exe的解釋器,以及l(fā)ua5.3.0.dll
(3)lua解釋器用法1--命令行編譯執(zhí)行代碼
在命令行中運(yùn)行 lua,進(jìn)入lua交互環(huán)境;
在lua交互環(huán)境中,輸入語(yǔ)句 print("hello,lua!");可以看到語(yǔ)句正常執(zhí)行,并輸出hello,lua!
(4)lua解釋器用法2--使用lua編譯執(zhí)行文本文件,共有兩種方法。
具體環(huán)境為:在lua-5.3.4\src目錄下新建文本文件hello.lua;然后打開(kāi)hello.lua,輸入語(yǔ)句塊,然后保存退出。
方法一:使用lua命令編譯文本文件hello.lua
方法二:使用lua命令編譯字節(jié)碼文件hello.luac(使用命令:luac -o out_file file_name 生成字節(jié)碼文件out_file)
注:hello.luac是字節(jié)碼文件,即二進(jìn)制文件,故使用記事本無(wú)法正確讀取。
linux下輸出hello,lua!
(1)解壓縮lua-5.3.4.tar.gz文件
(2)打開(kāi)終端,將當(dāng)前目錄切換至lua-5.3.4/src
(3)執(zhí)行make,如果出現(xiàn)提示附帶平臺(tái)信息,需要執(zhí)行 make generic
(4)linux下lua解釋器用法1--命令行編譯執(zhí)行代碼
在命令行中運(yùn)行 ./lua,進(jìn)入lua交互環(huán)境;
然后在lua交互環(huán)境中,輸入語(yǔ)句 print("hello,lua!");可以看到語(yǔ)句正常執(zhí)行,并輸出hello,lua!
(5)linux下lua解釋器用法2--使用lua編譯執(zhí)行文本文件,共有兩種方法。
具體環(huán)境為:在lua-5.3.4\src目錄下新建文本文件hello.lua;然后打開(kāi)hello.lua,輸入語(yǔ)句塊,然后保存退出。
[圖片上傳中...(image-7f4516-1520146177314-3)]
方法一:使用lua命令編譯文本文件hello.lua
方法二:使用lua命令編譯字節(jié)碼文件hello.luac(使用命令:luac -o out_file file_name 生成字節(jié)碼文件out_file)
注:hello.luac是字節(jié)碼文件,即二進(jìn)制文件,故不能直接被打開(kāi)。