官术网_书友最值得收藏!

第二部分 Lua虛擬機和Lua API

第2章 二進制chunk

Lua是一門以高效著稱的腳本語言,為了達到較高的執行效率,Lua從1.0版(1993年發布)開始就內置了虛擬機。也就是說,Lua腳本并不是直接被Lua解釋器解釋執行,而是類似Java語言那樣,先由Lua編譯器編譯為字節碼,然后再交給Lua虛擬機去執行。相比較而言,誕生時間比Lua稍晚一些的腳本語言Ruby在出現以來的很長一段時間里一直是直接解釋執行Ruby腳本,直到1.9版(2007年底發布)才引入了YARV虛擬機。

Lua字節碼需要一個載體,這個載體就是二進制chunk,對Java虛擬機比較熟悉的讀者可以把二進制chunk看作Lua版的class文件。本章會首先對二進制chunk進行一個簡單的介紹,然后詳細討論Lua編譯器的用法和二進制chunk格式,最后編寫代碼實現二進制chunk解析,為后續章節做準備。在繼續閱讀本章內容之前,請讀者執行如下命令,把本章所需的目錄結構和編譯環境準備好。

        $ cd $LUAGO/go/
        $ cp -r ch01/ ch02
        $ mkdir ch02/src/luago/binchunk
        $ export GOPATH=$PWD/ch02
        $ mkdir $LUAGO/lua/ch02
主站蜘蛛池模板: 德惠市| 新邵县| 大余县| 彭泽县| 樟树市| 兴安县| 百色市| 巴塘县| 都兰县| 山阴县| 神木县| 贵南县| 林芝县| 达日县| 察隅县| 通许县| 漳浦县| 三亚市| 鄂托克前旗| 巫山县| 沙坪坝区| 滨海县| 霍州市| 泊头市| 澄江县| 延寿县| 衡水市| 安龙县| 通河县| 治县。| 冀州市| 日照市| 谢通门县| 嘉兴市| 宣汉县| 神池县| 项城市| 纳雍县| 卢龙县| 鹤峰县| 东宁县|