關(guān)于LUA源代碼分析學(xué)習(xí)教程
作者:佚名
關(guān)于LUA源代碼分析學(xué)習(xí)教程是本文要介紹的內(nèi)容,主要是來學(xué)習(xí)lua中關(guān)于源碼的內(nèi)容,具體內(nèi)容來看本文詳解。
關(guān)于LUA源代碼分析學(xué)習(xí)教程是本文要介紹的內(nèi)容,主要是來學(xué)習(xí)lua中關(guān)于源碼的內(nèi)容,具體內(nèi)容來看本文詳解。
原文是英文版的,利用一點時間翻譯成中文的。希望bina大蝦指點一二。
- ldebug.c - 調(diào)試接口:包含訪問調(diào)試鉤子的函數(shù)(lua_sethook/lua_gethook/lua_gethookcount),訪問運行時堆棧信息的函數(shù)
- (lua_getstatck/lua_getlocal/lua_setlocal),檢查字節(jié)碼函數(shù)(luaG_checkopenop /luaG_checkcode),
- 和拋出錯誤的函數(shù)(luaG_typeerror/luaG_concaterror /luaG_aritherror/luaG_ordererror/luaG_errormsg/luaG_runerror)
- lzio.c - 一個通用的帶緩沖區(qū)的輸入流接口
- lmem.c - 內(nèi)存管理的接口.通過封裝內(nèi)存分配函數(shù),實現(xiàn)了luaM_realloc / luaM_growaux_兩個函數(shù).
- lgc.c - 垃圾回收器(內(nèi)存管理)
- lstate.c - 全局上下文. 包括打開和關(guān)閉LUA上線文的函數(shù)(lua_newstate/lua_close)和lua線程函數(shù)(luaE_newthread/luaE_freethread)
- lobject.c - 一些針對Lua對象的通用函數(shù)。 包括數(shù)據(jù)類型到字符串轉(zhuǎn)換函數(shù),純數(shù)據(jù)相等測試函數(shù)(luaO_rawequalObj),和日志基礎(chǔ)2(luaO_log2)
- lstring.c - 字符串表(保存所有由Lua操作的字符串集合)
- lfunc.c - 包裝原型和閉包的輔助函數(shù)
- ltable.c - Lua表實現(xiàn)(哈希)
- lcode.c - Lua的代碼生成器。被lparser.c使用
- llex.c - 此法分析器。被lparser.c使用
- lparser.c - Lua語法檢查器
- lundump.c - 加載預(yù)編譯后的Lua代碼塊,函數(shù)luaU_undump,加載一個預(yù)編譯后的代碼塊;luaU_header(被luaU_undump使用的內(nèi)部函數(shù)),用來檢查函數(shù)頭部。
- ldump.c - 保存預(yù)編譯后的Lua代碼塊。函數(shù)luaU_dump,使用預(yù)編譯后的代碼字符串展示一個函數(shù);
- lopcodes.c - Lua虛擬機的操作符。定義所有操作符的名稱和信息(使用luaP_opnames和luaP_opmodes兩個表保存)
- lvm.c - Lua虛擬機。執(zhí)行字節(jié)碼(luaV_execute)。也暴漏一些lapi.c可能用到的函數(shù)(例如:luaV_concat)
- ldo.c - Lua的棧和調(diào)用結(jié)構(gòu)??刂坪瘮?shù)調(diào)用(luaD_call/luaD_pcall),棧增長,協(xié)同代碼的同步
- ltm.c - 標記原語方法。實現(xiàn)對象訪問原語方法(metathods)
- lbaselib.c - 基礎(chǔ)函數(shù)庫
- lstrlib.c - 字符串庫
- ltable.c - 表操作庫
- lmathlib.c - 數(shù)學(xué)庫
- loslib.c - 操作系統(tǒng)相關(guān)庫
- liolib.c - 輸入輸入庫
- loadlib.c - 模塊庫(實現(xiàn)require函數(shù),package函數(shù))
- ldblib.c - 調(diào)試庫
- lapi.c - Lua的API.實現(xiàn)Lua C API(lua_*函數(shù))集合
- lauxlib.c - 定義所有的luaL_*函數(shù)集
- linit.c - 實現(xiàn)luaL_openlibs方法,便于在C語言中加載上述模塊
- lua.c - Lua獨立解釋器
- print.c - 定義 "PrintFunction?" 函數(shù),用于在函數(shù)中打印字節(jié)碼(被luac.c中-l參數(shù)所用)
- luac.c - Lua編譯器(保存字節(jié)碼到一個文件,也可以列出字節(jié)碼)
The prefix of a external symbol indicates the module it comes from:
外部符號的前綴暗示他來自哪一個文件:
- luaA_ - lapi.c
- luaB_ - lbaselib.c
- luaC_ - lgc.c
- luaD_ - ldo.c
- luaE_ - lstate.c
- luaF_ - lfunc.c
- luaG_ - ldebug.c
- luaH_ - ltable.c
- luaI_ - lauxlib.c
- luaK_ - lcode.c
- luaL_ - lauxlib.c/h, linit.c (public functions)
- luaM_ - lmem.c
- luaO_ - lobject.c
- luaP_ - lopcodes.c
- luaS_ - lstring.c
- luaT_ - ltm.c
- luaU_ - lundump.c
- luaV_ - lvm.c
- luaX_ - llex.c
- luaY_ - lparser.c
- luaZ_ - lzio.c
- lua_? - lapi.c/h + luaconf.h, debug.c
- luai_ - luaconf.h
- luaopen_ - luaconf.h + libraries (lbaselib.c, ldblib.c, liolib.c, lmathlib.c, loadlib.c, loslib.c, lstrlib.c, ltablib.c)
小結(jié):關(guān)于LUA源代碼分析學(xué)習(xí)教程的內(nèi)容介紹完了,希望通過本文的學(xué)習(xí)能對你有所幫助!
責(zé)任編輯:zhaolei
來源:
cjbskysea