<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                項目要求對lua腳本進行加密,查了一下相關的資料 ,得知lua本身可以使用luac將腳本編譯為字節碼(bytecode)從而實現加密,試了一下,確實可行。下面是使用原生的lua解釋器編譯字節碼: 1、新建一個名為1.lua的文件,里面只有一句話print("Hello Lua"),新建一個空的out.lua腳本文件 2、開始--運行--cmd3、luac -o out.lua 1.lua 注: luac -o [編譯后腳本名] [腳本名],必要時帶上腳本路徑,如: ![](https://box.kancloud.cn/2016-02-22_56cb2ca384efd.jpg) [編譯后腳本名] [腳本名],必要時帶上腳本路徑 回車之后,再打開out.lua就可以看到編譯好的字節碼了,如: ![](https://box.kancloud.cn/2016-02-22_56cb2ca3c5522.jpg) 然后實驗一下,執行這個字節碼腳本,可以看到lua原生的解釋器可以直接解析luac編譯出來的bytecode腳本,很方便! ![](https://box.kancloud.cn/2016-02-22_56cb2ca3d51a6.jpg) **重點:**做完了以上的一系列之后,我照著這個方法編譯項目中的腳本,然后在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 5、將生成的luajit.exe、lua51.dll、jit 復制到打包工具的相對目錄下,這樣在工具中就可以直接調用luajit –b source_file out_file (一般都是lua后綴,代碼不用改動) ![](https://box.kancloud.cn/2016-02-22_56cb2ca3e5fd0.jpg) 接下來就可以使用luajit.exe編譯lua腳本的bytecode了:luajit -b [腳本名] [編譯后的腳本名],執行完后會在src目錄下生成一個已經編譯成bytecode的jit.lua文件。 ![](https://box.kancloud.cn/2016-02-22_56cb2ca40043a.jpg) ![](https://box.kancloud.cn/2016-02-22_56cb2ca41714f.jpg) 下面把編譯之后的jit.lua放在2dx中試一下,以HelloLua工程為基礎,把jit.lua放到\samples\Lua\HelloLua\Resources下,修改AppDelegate.cpp中的lua調用為std::string path = CCFileUtils::sharedFileUtils()->fullPathForFilename("jit.lua");運行結果為: ![](https://box.kancloud.cn/2016-02-22_56cb2ca430fb0.jpg) 至此,luajit編譯bytecode加密已完成! **嚴重注意:**例子中,我把編譯前后的腳本名字取的不一樣,是為了讓大家看出差異化來,實際在項目中使用的時候,腳本的名字編譯前后最好都一致,不然在腳本中相互require的時候可能會出現問題!一個一個轉換腳太麻煩了,分享一個bat批處理,可以批量轉換一個文件夾中的所有lua文件. 代碼如下: ~~~ @echo off if exist out rd /s /q out mkdir out :input cls set input=: set /p input= 拖入要編譯的lua文件夾: set "input=%input:"=%" if "%input%"==":" goto input if not exist "%input%" goto input for %%i in ("%input%") do if /i "%%~di"==%%i goto input pushd %cd% cd /d "%input%">nul 2>nul || exit set cur_dir=%cd% popd set /a num = 0 for /f "delims=" %%i in ('dir /b /a-d /s "%input%"') do (set /a num += 1 & luajit -b %%~fsi out/%%~nxi & echo %%~nxi) echo 編譯腳本數量:%num% ATTRIB out/*.* +R pause ~~~ 編譯后,文件夾內所有的lua腳本將被批量編譯為字節碼,并保存在xxx\out目錄下,如: ![](https://box.kancloud.cn/2016-02-22_56cb2ca44a461.jpg) 注:XXX為打包加密文件路徑 還有小提示:ios64目前只支持lua,不支持用luajit生成二進制*.lua. 引用博客:http://jingyan.baidu.com/article/0a52e3f4179713bf62ed72f1.html
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看