2015-10-06 69 views
1

我有一些已編譯的LuaQ,我需要確定用於編譯它的確切版本,是否有任何可能的方法來做到這一點?確定已編譯的Lua的編譯器版本

+0

'LuaQ'意思是Lua 5.1。 ASCII中的「Q」是「0x51」。 – lhf

+0

標題中的版本實際上是Lua虛擬機規範的版本。標準發行版具有更高精度的編譯器版本(5.0.2,5.3.1等)。 –

回答

4

編譯腳本在文件開始處有一個標題。

4 bytes - signature ("\x1bLua") 
1 byte - version (0x51) 
1 byte - format 
1 byte - endianness 
5 bytes - sizes of some types 

所以你可以從第5個字節獲得主要版本。 0x50用於Lua 5.0.x,0x51用於Lua 5.1.x等。
次要版本(例如區分5.1.3和5.1.4)在編譯的文件中不存在。

+0

感謝這正是我正在尋找的。 – Twilliams6006

+1

Linux和Mac OS X中的'file'命令不太瞭解Lua版本比5.1更新。 – lhf