在arm架构项目中将lua5.4.1移植系统上,在实现数据处理时发现一个奇怪现象。
-
在处理浮点数适合,发现lua_pushnumber将数据压栈后,再到脚本上读取出来时发现值变成科学数;无论输入什么值。
-
网络找了一圈发现没有找到答案, 于是想将浮点转字符串在压栈; 但发现转换的值后一直显示是0.0
-
同时在定义函数中使用c++的std::to_string(2.2) 将这个值打印发现也是0.0此时问题就变得神奇了, 明明是标准C++11的函数也会将
浮点输出强制转换了为0.0。
经过上面的试验,怀疑问题在编译时是否某个配置导致。
- 当前lua编译的就已经是32bit ; 开始怀疑是64bit导致,经过一番查找发现问题不在此。
- 还有什么可能行会导致这个问题出现。 没有答案;又只能先记录。