正在处理应针对liblua5.0和liblua5.1进行编译的某些代码,例如,我需要在5.0中调用lua_openlibs(luaState);
,在5.1中调用luaL_openlibs(luaState);
(lua
与{{ 1}}),如何在编译时检查是否针对5.0或5.1进行编译?
libcurl为此有一个简洁的预处理器luaL
,我可以在libcurl中编写
CURL_AT_LEAST_VERSION
我如何使用liblua实现类似的目的?
答案 0 :(得分:8)
Lua 5.1及更高版本将宏LUA_VERSION_NUM
定义为版本号的十进制表示形式,例如501
适用于Lua 5.1。您可以将其与宏进行比较,例如
#if defined(LUA_VERSION_NUM) && LUA_VERSION_NUM >= 510
lua 5.1 code
#else
older version code
#endif