Lua原始碼閱讀一 在Windows下編譯

2021-06-19 07:28:38 字數 1028 閱讀 8774

最近感覺沒啥可看,就看一下lua原始碼,打發打發時間吧。

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函式中

Lua原始碼閱讀一 在Windows下編譯

最近感覺沒啥可看,就看一下lua原始碼,打發打發時間吧。2.編譯lualib 新建乙個vc 控制台工程lualib,應用程式設定 靜態庫,把預設生成的.h,cpp刪除,在設定一下不使用預編譯頭,右鍵lualib工程 新增 新增現有項 把lua原始碼的解壓目錄下src目錄中的下列檔案加入 如下的檔案列...

LUA 原始碼閱讀筆記(一)

背景介紹 因為工作的需要,後台svr要能夠動態修改更新,使用c當然沒有問題,問題就在於修改原始碼後,需要重啟服務。所以就想到在c裡能夠嵌入一種指令碼,最好是和c無縫結合的。因此就想到使用到lua,lua的大名圈內人士應該早有耳聞,只不過一直沒有機會接觸。機緣巧合,有幸一見。俗話說得好,耳聞不如一見。...

lua 原始碼閱讀 1 1 2 1

lua 1.1 閱讀 1.hash.c 中 a 對建立的 hash array 用 listhead 鏈式結構來管理,新增lua hashcollector,用來做 hash 的 處理。ps 1.0 用的是個 512 的陣列,用乙個少乙個 b hash lua createarray int nha...