Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
确定已编译Lua的编译器版本_Lua - Fatal编程技术网

确定已编译Lua的编译器版本

确定已编译Lua的编译器版本,lua,Lua,我有一些已编译的LuaQ,我需要确定用于编译它的确切版本,有没有任何可能的方法可以做到这一点?已编译的脚本在文件的开头有一个头 4 bytes - signature ("\x1bLua") 1 byte - version (0x51) 1 byte - format 1 byte - endianness 5 bytes - sizes of some types 因此,您可以从第5字节获取主要版本。0x50代表LUA5.0.x,0x51代表LUA5.1.x等。 次要版本(例如区分5.1

我有一些已编译的LuaQ,我需要确定用于编译它的确切版本,有没有任何可能的方法可以做到这一点?

已编译的脚本在文件的开头有一个头

4 bytes - signature ("\x1bLua")
1 byte - version (0x51)
1 byte - format
1 byte - endianness 
5 bytes - sizes of some types
因此,您可以从第5字节获取主要版本。0x50代表LUA5.0.x,0x51代表LUA5.1.x等。

次要版本(例如区分5.1.3和5.1.4)不存在于编译文件中。

太糟糕了,Linux和Mac OS X中的
file
命令不知道比5.1更新的Lua版本。
LuaQ
表示Lua 5.1
Q
是ASCII格式的
0x51
。标题中的版本实际上是Lua虚拟机规范的版本。标准发行版有更精确的编译器版本(5.0.2、5、3.1等)。