如何在Lua 5.2.3中将lua_number从double改为float

Lie*_*mai 6 c++ lua

我希望lua_number得到一个浮点而不是一个double.我知道我必须在luaconf.h中改变一些东西,但我不知道是什么.我正在使用Lua 5.2.3和Visual Studio C++.

lhf*_*lhf 11

您需要编辑luaconf.h和更改这些:

  • LUA_NUMBERfloat
  • LUA_NUMBER_SCAN"%f"
  • LUA_NUMBER_FMT"%.7g"
  • l_mathop(x)(x##f)
  • lua_str2number 使用 strtof

对于最后两个,您可能需要一个支持(某些)C99标准的C编译器.

  • @LiessJemai,这是一个愚蠢的聪明报价.再试一次. (3认同)

Col*_*Two 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
Run Code Online (Sandbox Code Playgroud)

这实际上是Lua 5.1的luaconf,但是5.2的conf应该类似。