當前位置:首頁 » 編程軟體 » lua編譯教程

lua編譯教程

發布時間: 2022-10-20 10:14:16

『壹』 怎樣把.lua編譯成.exe可執行文件(詳細點!最好附圖)

常見的方法是用c寫一個宿主
或者 比較方便而且比較現成的方法是載一個luaaio
aio就是all in one 的縮寫
把lua.exe改成腳本入口lua文件名
比如 main.lua 對應的就是main.exe 然後准備好相應的擴展需要的dll 就可以運行了

『貳』 如何在linux下編譯安裝Lua編譯器

方法/步驟

Linux系統的版本
命令:
cat /proc/version
下載Lua源碼
命令:
wget http: // www .lua.org/ftp/lua-5.3.2.tar.gz
解壓下載的源碼包lua-5.3.2.tar.gz
命令:
tar -xzvf lua-5.3.2.tar.gz
安裝編譯Lua所需的依賴包
命令:
yum -y install readline-devel

編譯並安裝Lua
命令:
make linux test
測試Lua源碼編譯生成的lua是否可用
命令:
lua
測試Lua源碼編譯生成的luac是否可用
命令:
luac

『叄』 如何將lua編譯成動態庫

在src目錄下的Makefile添加下面規則:
LUA_SO=liblua.so
ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) $(LUA_SO)
$(LUA_SO): $(CORE_O) $(LIB_O)
$(CC) -o $@ -shared $? -ldl -lm(這一行前是一個tab)
最後在頂層Makefile修改TO_LIB
TO_LIB= liblua.a liblua.so

『肆』 luastdio 怎麼編譯cocos

首先,先將導出的這個文件require進來,進來之後呢,調用create方法,就會返回Cocos創建的Scene了~
代碼如下:

1

local csLuaScene = require("Scene.lua").create()


然後create 方法返回的結果是一個table,通過csLuaScene['root']來獲得創建的Scene,接著replaceScene就可以了!對於「圖層」和「節點」也是類似的操作!

最後通過一系列的getChildByName 和 GetChildByTag 獲取子節點進行操作就可以了!

啊,對了,獲取動畫的方式和獲取Scene的方式相似 csLuaScene['animation']!

『伍』 lua 怎麼反編譯

lua源文件--obfuscate-->lua源文件(混淆後)--compile-->luac文件(帶調試用的變數名和行號)--strip-->luac文件(不帶調試信息)
lua/luac--加密/打包-->數據文件

數據文件--解包/解密-->lua/luac-->lua虛擬機

1. 跟蹤,脫殼,解包,解密,獲得 luac

追 luaL_loadbuffer luaL_loadfile lua_load 應該可以找到 解密函數。
hook 這3個函數,導出解密後的數據,直接就是 luac 文件。如果沒編譯甚至是 lua源文件。

hook luaV_execute 可以拿到 Proto* ,想辦法用 luaU_mp 導出。luaD_precall 應該沒必要搞。

2. 非標准 luac 處理

我們有兩種方案來處理得到的 luac

1. 得到一個能夠執行上述非標 luac 的 lua 版本
搞清楚編譯方式,改 lua 源文件,編譯出一個,這樣做什麼都可以,還能編譯出對應的 luadec 。
如果能找到 lua51.dll 之類的就直接調用吧。但是,只能用於導出 luac 對比文件格式,或者執行找到的幾個關鍵函數。
2. 將非標 luac 轉換成標准格式 luac,正所謂:山不來就我,我便去就山
非標准 luac 是怎麼做的:

1. bad header 改文件頭
#define LUA_SIGNATURE "\033Lua" // lua.h
2. bad header 改數據類型
// luaconf.h
#define LUA_NUMBER_DOUBLE
#define LUA_NUMBER double
LUA_NUMBER to float
LUA_NUMBER_SCAN to "%f"
LUA_NUMBER_FMT to "%.7g"
l_mathop(x) to (x##f)
lua_str2number to use strtof

3. bad code OpCode 重定義
// 改有 "ORDER OP" 的地方
/* grep "ORDER OP" if you change these enums */
enum OpCode; // lopcodes.h
const lu_byte luaP_opmodes[]; // lopcodes.c
const char *const luaP_opnames[]; // lopcodes.c

『陸』 如何將lua編譯成動態庫

在src目錄下的Makefile添加下面規則: LUA_SO=liblua.so ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) $(LUA_SO) $(LUA_SO): $(CORE_O) $(LIB_O) $(CC) -o $@ -shared $? -ldl -lm(這一行前是一個tab) 最後在頂層Makefile修改TO_LIB TO_LIB= liblua.a ...

『柒』 subelime中文版寫lua怎麼編譯

首先你的Sublime中文版上面必須要有lua編譯,其次你必須本機裝了lua環境,如圖:

滿足上述兩個條件,只需要Ctrl+B就可以編譯運行!

望對你有所幫助

『捌』 請教lua如何反編譯,或者指點一下luadec的用法,請不要復制回答問題。

搜:Lua腳本反編譯入門教程。

『玖』 如何把lua編譯成luac

不是在lua解釋器里用的……
命令行下luac 文件名
你這樣等於是試圖解釋lua語句luac.exe asd.lua,同時提供兩個table的鍵值,自然非法

熱點內容
安卓泰拉瑞亞去哪裡買 發布:2025-07-18 20:01:05 瀏覽:693
flash編譯器 發布:2025-07-18 19:49:38 瀏覽:487
memcached源碼分析 發布:2025-07-18 19:22:42 瀏覽:865
android展示圖片 發布:2025-07-18 19:21:24 瀏覽:593
一台伺服器5個IP怎麼分配 發布:2025-07-18 19:12:34 瀏覽:862
貴陽分布式存儲行情 發布:2025-07-18 19:12:31 瀏覽:360
車場伺服器和工控機是如何連接的 發布:2025-07-18 19:10:19 瀏覽:937
計算機編程學什麼好 發布:2025-07-18 19:06:49 瀏覽:410
網吧用的伺服器是什麼伺服器 發布:2025-07-18 18:40:15 瀏覽:938
ftp命令使用 發布:2025-07-18 18:13:05 瀏覽:47