LuaJ教程-luaj命令行使用


luaJ是一個java實現的lua腳本解釋器,適合嵌入java應用中。個人比較喜歡libgdx這個引擎,所以對luaJ項目也有一些關注。cocos2d貌似也用到了這個。對於一些不想使用本地庫的java項目,luaJ是個不錯的選擇。我下載的是luaJ-3.0.1版本,解壓后可以得到完整的工程目錄。主要用到的東西是lib文件夾中的luaj-jse-3.0.1.jar這個包,(另一個是luaJ-jme-3.0.1.jar)。版本不同可能有出入,使用帶有jse的包就可以了。

1、執行lua腳本

  新建一個lua文件hello.lua,寫入以下內容:

print('hello')

方便起見,將hello.lua文件新建在lib文件夾中,跟luaJ-jse-3.0.1.jar在同一個目錄即可,然后打開命令行,cd到這個文件夾,輸入命令:

java -cp luaj-jse-3.0.1.jar lua hello.lua

即可看到輸出結果:hello

上面的luaj-jse-3.0.1.jar以及hello.lua部分可以替換成其他的目錄。

 

2、編譯lua腳本為lua字節碼

  上面的方法使用lua命令解釋模式執行lua代碼,這種方法比較慢;我們可以使用luac命令來編譯lua代碼成為lua字節碼,還是以hello.lua為例,進入lib目錄下,輸入:

java -cp luaj-jse-3.0.1.jar luac hello.lua

執行完畢后,當前文件夾下多出了luac.out文件,這個文件就是hello.lua編譯后的lua字節碼。

那么如何指定輸出路徑呢?可以使用命令

java -cp luaj-jse-3.0.1.jar luac hello.lua -o hello.luac

加上 -o [路徑]來指定輸出文件的位置。上面的命令執行后會在當前文件lib下面生成hello.luac文件。

接下來執行lua字節碼。以hello.luac為例,命令如下:

java -cp luaj-jse-3.0.1.jar lua hello.luac

如果沒有指定輸出:

java -cp luaj-jse-3.0.1.jar lua luac.out

 

3、lua腳本編譯成java字節碼

  這個功能很強大,不過可能用的人不多...這個命令是luajc;使用這個命令需要安裝ant,以及bcel-5.2.jar這個包。后者可以百度英文搜索bcel-5.2來下載。下載完成后把bcel-5.2.jar放到lib目錄下。方便起見同樣切換到lib目錄下執行。

命令如下:

java -cp luaj-jse-3.0.1.jar;bcel-5.2.jar luajc -s . -d . hello.lua

特別注意那兩個點,代表當前目錄:-s后面是源代碼目錄所在,-d后是輸出的class文件目錄所在,最后是文件名。

執行后在lib目錄下生成了hello.class

接下來執行hello.class文件,同樣在lib目錄下執行

java -cp luaj-jse-3.0.1.jar;. lua -l hello

運行后輸出hello

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM