初學者必看:Lua入門學習教程
Lua入門學習教程是本文要介紹的內容,主要是來對Lua入門的一個學習,Lua是一個被設計成用于擴展C/C++編程的輕量級腳本語言。不幸的是,網上很少有關于這個語言的在線教程。我主要通過閱讀其源代碼來了解它是怎樣工作并且通過一些發布的程序學習它。希望,通過下面的教程,會讓學習Lua更加簡單。
本教程涵蓋了Lua5.1。在Lua的每一個版本中都有一些非常不同之處。下面的示例代碼將不能在老版本的Lua下運行。如果你仍然在使用老版本而且不愿意升級,不用擔心,我已經在文章底部提供了4.0和5.0教程的源代碼下載連接。好了,讓我們開始吧!
首先,你需要下載Lua。你需要從Lua下載頁面去下載源代碼。如果你需要編譯好了的二進制庫,你能在LuaBinaries 中找到你想要的庫(lib or dll)。
現在,我們需要安裝Lua。在Linux下,你應該先解壓文件,然后以root用戶在命令行鍵入"make linux"和"make linux install"。如果你需要幫助,請參考源代碼文件夾中的INSTALL文件?,F在,我下載了windows平臺下的二進制庫包并把它們解壓到"C:/Program Files/lua5.1"。
在Linux下不需要我們做任何設置,但是在windows平臺下我們必須配置Visual C++,以便讓編譯器和連接器找到Lua文件。
打開Visual C++,選擇Tools菜單中的選項菜單。
展開"項目",并選擇"VC++ 目錄"。
選擇"包含文件",添加一個新路徑"C:/Program Files/lua5.1/include"。
在選擇"庫文家",添加路徑"C:/Program Files/lua5.1/lib/dll"(這里假設你下載的庫為dll,你也可以下載靜態鏈接庫)。
確定。
現在你可以開始編譯你的***個Lua應用了。
使用Lua開始你的***個程序
這個程序簡短且直接,下面做一點說明:
lua_open()返回一個指向Lua解釋器的一個指針。
luaL_openlibs()用于裝載Lua庫,它提供了一些簡單的函數,如:print。
通過調用luaL_dofile()執行腳本。它的作用是讀取并解釋腳本。
***,通過lua_close()函數關閉Lua。
保存文件為luatest.cpp。如果你直接使用C而不是C++,將文件名改為luatest.c,然后將extern "C"刪除。
- #include <stdio.h> extern "C" {
- #include "lua.h"
- #include "lualib.h"
- #include "lauxlib.h"
- }
- /*
- Lua解釋器指針
- */
- lua_State* L;
- int main ( int argc, char *argv[] ){
- /*
- 初始化Lua
- */
- L = lua_open();
- /*
- 載入Lua基本庫
- */
- luaL_openlibs(L);
- /*
- 運行腳本
- */
- luaL_dofile(L, "test.lua");
- /* 清
- 除Lua
- */
- lua_close(L);
- /*
- 暫停
- */
- printf( "Press enter to exit…" );
- getchar(); return 0;
- }
下面是test.lua的內容。
- simple testprint "Hello, World!"
編譯
在Linux下,在命令行鍵入:
- g++ luatest.cpp -llua -ldl -o luatest
然后,鍵入下列命令運行:
- ./luatest
如果沒有問題,程序將在終端輸出Hello, World!
在Visual C++你將需要進行下列步驟:
創建一個新的空Win32控制臺應用工程。
將"luatest.cpp"加入你的工程。
選擇項目菜單中的屬性菜單。
在"連接器"的"輸入"欄目的"附加依賴項"中輸入"lua5.1.lib"。
確定。
此時,按F7構建程序。
如果你采用的是dll庫,請確保將其放在應用程序的目錄中或者windows系統能夠找到它的地方。如果你采用的是靜態連接庫,則不需要。
小結:初學者必看:Lua入門學習教程的內容介紹完了,希望通過本文的學習能對你有所幫助!