當前位置:編程學習大全網 - 源碼下載 - 為什麽用 lua 替換 luajit

為什麽用 lua 替換 luajit

1、新建壹個名為1.lua的文件,裏面只有壹句話print("Hello Lua"),新建壹個空的out.lua腳本文件

2、開始--運行--cmd

3、luac -o out.lua 1.lua

註: luac -o [編譯後腳本名] [腳本名],必要時帶上腳本路徑,如:

回車之後,再打開out.lua就可以看到編譯好的字節碼了

然後實驗壹下,執行這個字節碼腳本,可以看到lua原生的解釋器可以直接解析luac編譯出來的bytecode腳本,很方便!

重點:

做完了以上的壹系列之後,我照著這個方法編譯項目中的腳本,然後在cocos2dx環境下使用,發現不行!於是又查了壹下資料,發現2dx使用的是luajit,lua原生編譯出來的bytecode和luajit是不兼容的,所以照著上面方法編譯出來的bytecode腳本無法在2dx中使用。

解決這個問題其實很簡單,就是用2dx自帶的luajit編譯lua腳本,下面附上luajit編譯bytecode的方法:

1、在cocos2d-x-2.2.3\scripting\lua\luajit\LuaJIT-2.0.1\src目錄下有個msvcbuild.bat批處理文件,需要先把luajit.exe這個東西給編譯出來。

2、打開visual studio的命令行工具,這個只要裝了vs都會有,在安裝目錄裏面可以找到。

3、用vs的命令行工具cd到luajit的src目錄

4、執行msvcbuild.bat批處理文件,編譯出luajit.exe

編譯完成之後,會在src目錄下生成壹系列文件,其中有壹個luajit.exe

接下來就可以使用luajit.exe編譯lua腳本的bytecode了:luajit -b [腳本名] [編譯後的腳本名],執行完後會在src目錄下生成壹個已經編譯成bytecode的jit.lua文件

下面把編譯之後的jit.lua放在2dx中試壹下,以HelloLua工程為基礎,把jit.lua放到\samples\Lua\HelloLua\Resources下,修改AppDelegate.cpp中的lua調用為std::string path = CCFileUtils::sharedFileUtils()->fullPathForFilename("jit.lua");

  • 上一篇:《大秦帝國之裂變》觀後感
  • 下一篇:“將”怎麽組詞?
  • copyright 2024編程學習大全網