我希望lua_number获得一个浮点而不是一个double。我知道我必须在luaconf.h中改变一些东西,但我不知道是什么。我正在使用Lua 5.2.3和Visual Studio C ++。
答案 0 :(得分:11)
您需要修改luaconf.h
并更改这些内容:
LUA_NUMBER
至float
LUA_NUMBER_SCAN
至"%f"
LUA_NUMBER_FMT
至"%.7g"
l_mathop(x)
至(x##f)
lua_str2number
使用strtof
对于最后两个,您可能需要一个支持(某些)C99标准的C编译器。
答案 1 :(得分:2)
在luaconf.h
/*
** {==================================================================
@@ LUA_NUMBER is the type of numbers in Lua.
** CHANGE the following definitions only if you want to build Lua
** with a number type different from double. You may also need to
** change lua_number2int & lua_number2integer.
** ===================================================================
*/
#define LUA_NUMBER_DOUBLE
#define LUA_NUMBER double
这实际上是Lua 5.1 luaconf,但5.2 conf应该是相似的。