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

1.1 準(zhǔn)備開發(fā)環(huán)境

讀者跟隨本書編寫代碼所需的開發(fā)環(huán)境非常簡(jiǎn)單,只需要一臺(tái)安裝著現(xiàn)代操作系統(tǒng)(比如Windows、Linux、macOS等)的電腦,以及文本編輯器、Lua語(yǔ)言編譯器和Go語(yǔ)言編譯器。

1.1.1 操作系統(tǒng)

由于操作系統(tǒng)一般都自帶了簡(jiǎn)單的文本編輯器(比如Windows下的記事本),且Lua語(yǔ)言和Go語(yǔ)言也都是跨平臺(tái)的,所以讀者可以選擇自己喜歡的操作系統(tǒng)。不過(guò)由于筆者是使用MacBook筆記本編寫本書代碼和文字的,所以書中出現(xiàn)的命令和路徑等都是Unix形式。下面是一個(gè)例子。

        $ ls /dev/*random
        /dev/random /dev/urandom

命令行以“$”開頭,后跟輸出結(jié)果;路徑分隔符是“/”。如果讀者使用Windows操作系統(tǒng)進(jìn)行編寫,需要對(duì)命令和路徑做出相應(yīng)的調(diào)整。另外,雖然任何文本編輯器都可以滿足我們的需要,但是最好選擇可以對(duì)Lua語(yǔ)言和Go語(yǔ)言進(jìn)行語(yǔ)法著色的編輯器,這里推薦使用Sublime Text。

1.1.2 安裝Lua

Lua雖然是解釋型語(yǔ)言,但實(shí)際上Lua解釋器會(huì)先把Lua腳本編譯成字節(jié)碼,然后在虛擬機(jī)中解釋執(zhí)行字節(jié)碼,這一點(diǎn)和Java語(yǔ)言很像。本書的第一部分(第2~13章)主要圍繞Lua字節(jié)碼的解釋執(zhí)行展開討論,并初步實(shí)現(xiàn)我們自己的Lua虛擬機(jī)。在這一部分,我們需要通過(guò)官方Lua編譯器來(lái)將Lua腳本編譯成字節(jié)碼,因此需要安裝Lua。在本書的第二部分(第14~17章),我們將實(shí)現(xiàn)自己的Lua編譯器。

Lua的安裝比較簡(jiǎn)單,讀者可以從http://www.lua.org/download.html下載最新版(本書編寫時(shí),Lua的最新版本是5.3.4)源代碼自行編譯,或者直接下載已經(jīng)編譯好的發(fā)行版。安裝完畢后,在命令行里執(zhí)行l(wèi)uac -v命令,如果看到類似下面的輸出,就表示安裝成功了。

        $ luac -v
        Lua 5.3.4  Copyright (C) 1994-2017 Lua.org, PUC-Rio

1.1.3 安裝Go

本書將帶領(lǐng)讀者使用Go語(yǔ)言編寫Lua虛擬機(jī)、Lua編譯器以及Lua標(biāo)準(zhǔn)庫(kù),因此需要安裝Go。Go的安裝也比較簡(jiǎn)單,讀者可以從https://golang.google.cn/dl/下載最新版(本書編寫時(shí),Go的最新版本是1.10.2)安裝包進(jìn)行安裝。安裝完畢后,在命令行里執(zhí)行g(shù)o version命令,如果看到類似下面的輸出,就表示安裝成功了。

        $ go version
        go version go1.10.2 darwin/amd64
主站蜘蛛池模板: 兴城市| 任丘市| 准格尔旗| 准格尔旗| 新化县| 延庆县| 乌拉特后旗| 安国市| 石狮市| 邓州市| 格尔木市| 五河县| 荔波县| 乐至县| 柞水县| 永济市| 德兴市| 当阳市| 凯里市| 阿尔山市| 莲花县| 六安市| 嘉荫县| 沽源县| 防城港市| 新丰县| 建宁县| 柳林县| 鲜城| 区。| 普宁市| 新化县| 中方县| 晋中市| 巴东县| 林口县| 广丰县| 满城县| 西平县| 陆良县| 建昌县|