2015-10-06 49 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