最近感覺沒啥可看,就看一下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函數中