• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            的筆記

            隨時(shí)隨地編輯

            LUA源碼分析上

            主題

            LUA源碼分析上
            http://3dlearn.googlecode.com/files/LUA源碼分析上.pdf
            (非chrome下載文件名有亂碼需要自己重命名)
            適合初學(xué)lua源碼參考之用,本文作為上部分還未深入分析lua的實(shí)現(xiàn)原理。恩,要遵守原則。

            目錄

            LUA源碼分析(上) 0
            有分享交流才有進(jìn)步,永遠(yuǎn)不要固步自封 0
            目 錄 1
            1 參考資料 5
            2 閱讀說(shuō)明 6
            2.1 閱讀本文的方式 6
            2.2 源碼閱讀順序 6
            2.3 Lapi 7
            2.3.1 index2addr 9
            2.3.2 lua_setfield 11
            2.4 Lobject 12
            2.4.1 Value 12
            2.4.2 TString 13
            2.4.3 Udata 13
            2.4.4 Upvaldesc 14
            2.4.5 LocVar 14
            2.4.6 Proto 14
            2.4.7 UpVal 14
            2.4.8 CClosure 15
            2.4.9 LClosure 15
            2.4.10 Closure 15
            2.4.11 Tkey 15
            2.4.12 Node 15
            2.4.13 Table 15
            2.4.14 重要宏 16
            2.5 Lstate 16
            2.5.1 不公開(kāi)結(jié)構(gòu)LG 18
            2.5.2 CallInfo結(jié)構(gòu) 19
            2.5.3 global_State結(jié)構(gòu) 19
            2.5.4 lua_State結(jié)構(gòu) 21
            2.5.5 lua_newstate 22
            2.6 Llex 27
            1.1 Lopcodes 27
            1.1.1 四種指令格式 27
            1.1.2 指令集 27
            1.1.3 指令定義 30
            1.2 Lvm 31
            1.2.1 過(guò)程 31
            1.2.2 過(guò)程調(diào)用 32
            1.2.3 luaV_execute 33
            1.3 Ldo( Stack and Call structure) 34
            1.3.1 公開(kāi)過(guò)程 35
            1.3.2 luaD_pcall 35
            1.3.3 luaD_protectedparser 35
            1.4 Lstring 36
            1.4.1 luaS_newlstr 36
            1.4.2 luaS_newudata 37
            1.5 Ltable(hash tables) 37
            1.6 Ltm(Tag methods) 37
            1.6.1 luaT_init 38
            1.6.2 luaT_gettm 38
            1.7 Ldebug 38
            1.7.1 過(guò)程表 38
            1.8 Lparser\lcode(遞歸下降分析器) 39
            1.8.1 數(shù)據(jù)結(jié)構(gòu) 39
            1.9 Lgc(增量\漸進(jìn)垃圾回收器) 39
            2 編碼規(guī)范與約定 40
            2.1 標(biāo)識(shí)符慣用法 40
            2.2 接口代碼約定 40
            3 基礎(chǔ)數(shù)據(jù)結(jié)構(gòu) 41
            3.1 等價(jià)C類型 41
            3.1.1 string 41
            3.1.2 array 41
            4 全局變量 43
            4.1 腳本層全局對(duì)象 43
            4.1.1 查看全局變量 43
            4.1.2 全局變量 43
            4.2 引擎全局對(duì)象 44
            5 架構(gòu) 45
            5.1 文件結(jié)構(gòu) 45
            5.1.1 文件結(jié)構(gòu) 45
            5.2 文件點(diǎn)評(píng) 48
            5.3 模塊劃分 48
            6 引擎核心 49
            6.1 緣起緣滅 49
            6.1.1 展開(kāi)為非核心對(duì)象 55
            6.1.2 展開(kāi)為核心對(duì)象 55
            6.2 狀態(tài)機(jī) 56
            6.2.1 CallInfo(L->ci) 58
            6.2.2 CallInfo位狀態(tài)(Bits in CallInfo status) 58
            7 虛擬機(jī) 59
            8 閉包 59
            9 垃圾回收 59
            10 CASE 60
            10.1 初始化和加載腳本 60
            10.2 Lua runtime code reading Lua運(yùn)行期源代碼分析閱讀 60
            10.3 加載腳本 61
            10.4 執(zhí)行字節(jié)碼 63
            10.5 創(chuàng)建math庫(kù) 66
            10.6 set\get方法辨析 69
            11 調(diào)試與分析 70
            11.1 VM Code 70
            11.2 LuaCov 71
            11.3 LDT 71
            11.4 lua調(diào)試器:運(yùn)行時(shí)的值查看 72
            12 基礎(chǔ)模型 73
            13 語(yǔ)法糖 73
            13.1 類實(shí)現(xiàn) 73
            13.2 類型轉(zhuǎn)換 75
            13.3 LUA_CORE 75
            13.3.1 定義動(dòng)態(tài)庫(kù) 76
            13.3.2 定義標(biāo)準(zhǔn)操作 76
            13.3.3 打開(kāi)MS compiler匯編 77
            13.3.4 數(shù)據(jù)包裝技巧 78
            14 疑問(wèn) 80
            14.1 Tvaluefields為何重復(fù)定義? 80
            14.2 如何區(qū)分棧中表和普通類型? 80
            = 附錄 = 81
            15 元編程METAPROGRAMMING 81
            16 閉包 CLOSURE 81
            16.1 C 閉包 82
            16.2 C++閉包 82
            17 基礎(chǔ)數(shù)據(jù)類型數(shù)據(jù)長(zhǎng)度 83
            18 THE COMPLETE SYNTAX OF LUA 83
            19 遞歸下降分析器(RECURSIVE DESCENT PARSER) 84
            20 垃圾回收器 85
            20.1 基礎(chǔ)算法 85
            20.2 貝姆垃圾收集器 85
            21 LUA 5.1 C API 86
            21.1 Push data 86
            21.2 Check data 86
            21.3 Get data checked 86
            21.4 Get data converted 87
            21.5 Get data with defaults 87
            21.6 Stack operator 87
            21.7 Value operator 88
            21.8 Table 88
            21.9 Global data 88
            21.10 Call function 89
            21.11 Load or call Lua code 89
            21.12 Debugging 89
            21.13 Buffer 90
            21.14 Thread 90
            21.15 Library 90
            21.16 Misc 91
            21.17 Basic types 91

            posted on 2012-04-29 15:46 的筆記 閱讀(5106) 評(píng)論(7)  編輯 收藏 引用

            評(píng)論

            # re: LUA源碼分析上 2012-04-29 17:19 zgpxgame

            文件壞掉了?下載了打不開(kāi)  回復(fù)  更多評(píng)論   

            # re: LUA源碼分析上 2012-04-29 17:38 OGRE_蟲(chóng)子

            怎么下載啊?  回復(fù)  更多評(píng)論   

            # re: LUA源碼分析上 2012-04-29 22:30 夸父的筆記

            @zgpxgame
            @OGRE_蟲(chóng)子
            好了  回復(fù)  更多評(píng)論   

            # re: LUA源碼分析上[未登錄](méi) 2013-06-21 19:43 shongbee2

            自己整理的啊。。謝謝分享  回復(fù)  更多評(píng)論   

            # re: LUA源碼分析上 2014-03-20 16:36 zr

            請(qǐng)問(wèn)文件中代碼調(diào)用圖你是用什么軟件生成的?
            ps:文中代碼風(fēng)格看著很舒服,能不能也透漏下是哪種軟件的style?  回復(fù)  更多評(píng)論   

            # re: LUA源碼分析上 2014-05-01 00:36 夸父的筆記

            @zr 有的是doxygen生成的,有的是understand生成的,再有的是PS的
              回復(fù)  更多評(píng)論   

            # re: LUA源碼分析上[未登錄](méi) 2014-05-11 16:34 me

            忘了回你代碼格式用的VC自帶的@zr
              回復(fù)  更多評(píng)論   


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            青青草国产精品久久| 久久成人18免费网站| 亚洲精品无码久久一线| 久久中文字幕一区二区| 久久精品国产亚洲Aⅴ香蕉| 97r久久精品国产99国产精| 久久久久国产视频电影| 久久天天躁狠狠躁夜夜不卡 | 99久久精品免费看国产一区二区三区| 亚洲精品tv久久久久久久久| 国产精品9999久久久久| 久久香综合精品久久伊人| 久久久噜噜噜久久中文字幕色伊伊 | 国产免费福利体检区久久| 久久99国产综合精品免费| 国产成人精品久久| 久久亚洲欧美国产精品| 久久精品国产精品亚洲艾草网美妙| 亚洲午夜久久久久久久久久| 狠狠人妻久久久久久综合| 久久av无码专区亚洲av桃花岛| 久久无码专区国产精品发布| 亚洲精品99久久久久中文字幕 | 精品久久一区二区| 亚洲国产天堂久久综合网站| 97精品伊人久久久大香线蕉| 伊人久久大香线蕉av一区| 无码人妻少妇久久中文字幕| 伊人伊成久久人综合网777| 91亚洲国产成人久久精品网址| 99久久无码一区人妻a黑| 亚洲中文精品久久久久久不卡| 亚洲精品第一综合99久久| 中文字幕无码免费久久| 国产精品久久久久久久人人看| 久久久久无码国产精品不卡| 久久国产精品视频| 久久涩综合| 99久久夜色精品国产网站| 亚洲色大成网站www久久九| 天堂久久天堂AV色综合 |