1. 程式人生 > >從零開始熱更新:第一篇lua環境及開發工具配置

從零開始熱更新:第一篇lua環境及開發工具配置

最近由於專案需求,不得不開始研究熱更新,在網上尋求許久,發現一門叫做Lua的小巧的指令碼語言,由於自生小巧且和c有極其良好的相容性,被廣泛應用於遊戲行業的熱更新技術中。

工欲善其事,必先利其器,要想開始學習有關lua的內容,必然需要一套完好的Lua開發環境

結合師兄們的幫助和自己在網上查閱資料的搗鼓,終於也是解決了Lua環境的配置問題

下面我將開始介紹如何配置一套Lua的開發環境:

第一步,我們需要去Lua的官網去下載Lua的原始碼,lua官網如下:

http://www.lua.org/

在這裡我們可以找到各個版本的Lua的原始碼,然而這個原始碼是不可以直接使用的,我們需要自己編譯這份原始碼生成Lua的直譯器,編譯器,和靜態庫。

在這裡其實Lua官方也已經提供了編譯生成好的Lua資源包,我們可以直接下載使用。(建議直接下載,手動編譯比較麻煩)

連結如下:http://joedf.users.sourceforge.net/luabuilds/

不過在這裡我還是講一下手動編譯生成Lua的直譯器,編譯器,和靜態庫的方法

這裡用到了一個檔案的批處理,介於本人水平較低,我也不太清楚批處理的具體含義,直接從網上找了一篇部落格來吵了一段批處理檔案的程式碼:

程式碼如下:

  1. cd src
  2. cl /O2 /W3 /c /DLUA_BUILD_AS_DLL l*.c
  3. del lua.obj luac.obj
  4. link /DLL /out:lua52.dll l*.obj
  5. cl /O2 /W3 /c /DLUA_BUILD_AS_DLL lua.c luac.c
  6. link /out:lua.exe lua.obj lua52.lib
  7. del lua.obj
  8. link /out:luac.exe l*.obj
  9. cd ..

注意這個批處理檔案的建立的位置一定要是在Lua原始碼解壓縮出的那個目錄下,如圖:

對於建立批處理檔案的方法,也是很簡單的,首先建一個txt格式的檔案,將程式碼拷貝進去之後將檔案的字尾從txt改為bat即可,這個檔案則會自動轉為批處理檔案

還有一點需要注意的是,如果你下載的Lua的版本是5.3或者5.1,你需要將上述批處理檔案中的lua52改為lua53或lua51,

接下來,如果你的通過vs或者是vc的命令處理器來執行這個批處理檔案或者把你的vs安裝目錄放到系統環境中去,然後直接雙擊執行這個批處理檔案執行即可。

在這裡我介紹一下用vs2015的命令處理器來批處理這個檔案,我的電腦上裝的是vs2015,可能是版本過高的緣故,網上所說的那個舊的命令處理器沒找到,不過這個東西只要安裝了vs必然都是會存在的,所以我找呀找,最後發現了這個,如下:

具體批處理的演示截圖如下:

總共操作就只有2步

第一步:cd+空格+lua批處理檔案的根目錄   表示進入批處理檔案的根目錄的位置

第2步:批處理檔名.bat        表示執行該批處理檔案

結束之後,你會發現你的Lua原始碼的src資料夾中多了很多東西~~~~~網上很多教程說只多3個,不知道為什麼我多了許多,知道的大神希望可以留言告知一下

效果圖如下:

然後你只需要提取這個資料夾中的lua.exe 和 luac.exe 和 lua52.dll 即可,當然,最後一個那個靜態庫的名字會隨著你的編譯的Lua的版本的不同而略有不同,變化型別和之前所說的批處理檔案程式碼中的那個相同。

這3個檔案的含義如下:

lua.exe   Lua的直譯器

luac.exe Lua的編譯器

lua52.dll Lua的靜態庫

接下來就是將Lua檔案的環境的配置

我們需要配置Lua的環境變數

這裡我建議的做法是將編譯的到的3個檔案一起放入到自定的位置,然後再系統的環境變數的Path中新增這些庫檔案的根目錄。

然後儲存即可。

如果需要驗證是否配置正確

直接寫一個簡單的Lua的指令碼然後再命令列cmd下lua Lua檔名執行該Lua檔案,如果得到正確輸出及配置正確且正常

我的測試陽曆如下:

這樣為我們的Lua環境就算是配置完畢了,然而我們並不能每次敲Lua程式碼都去命令列中執行,我們還需要一個合適的編輯器,網上有一些比較不錯的Lua編輯器或開發工具,舉個例子,LuaForWindows   這個是一個專門為Lua開發而生的開發工具,Lua的安裝,配置,編輯器都一鍵式的給你配置好了,用這個之前的操作全部都可以不用去做了,對新手比較友好,但是缺點是現在已經不更新了,Lua的一些新的語法不再支援,而且也沒法自己手動更新語言庫(不過現在貌似還是比較主流的),同時還是收費的(差評),所以我沒有選用這個方案。

我所選用的是Sublime text3 配合Lua使用,接回上面所說的配置好Lua的那一步,然後下載Sblime text3後,在Sublime text3 中建立一個新的配置檔案,檔案內容如下:

{
    "cmd": ["lua", "$file"],
    "file_regex": "^(?:lua:)?[\t ](...*?):([0-9]*):?([0-9]*)",
    "selector": "source.lua"
}
將這個檔案儲存為lua.sublime-build在任意位置即可。

接下來你在Sublime text3的Tool選項中的Bulid System選項中勾選上Lua即可,然後你就可以在Sublime text3中編寫Lua程式碼了,按下Ctrl + b即可執行Lua程式碼,Sublime text中支援Lua語法,對於Lua語法中很多函式等其他的方法,關鍵字都加上了高亮或者是提示,大大提高了Lua這種指令碼語言的開發效率和降低了錯誤發生率。而且他不依賴某一固定版本的Lua。當有需要的時候,完全可以根據需求更換自己的Lua執行庫,而不用受到其他限制。

以上就是我的Lua的開發環境的配置過程,有問題或者有一些意見或者其他理解的歡迎留言交流^_+