首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ARM EABI工具链

ARM EABI工具链
EN

Stack Overflow用户
提问于 2012-10-12 04:39:36
回答 1查看 911关注 0票数 1

今天,我在ARM工具链EABI (交叉编译器)上遇到了一些奇怪的问题。

这个问题是,当我尝试使用snwprintf()将浮点值转换为string时,我得到了一些没有实际浮点值的垃圾字符串。

smaple代码如下所示:

代码语言:javascript
复制
float floatValue = 1.0;
snwprintf (buffer, bufferSize, _T("%g"), floatValue);

然后我调试snwprintf,发现变量参数列表(va_arg)没有指向确切的数据值。通过转储内存,我们能够找到变量参数列表中的确切数据。va_arg应该指出的数据是不同的。

我不认为这是一个不可接受的问题,因为integre value运行良好。问题只是双值问题。

有人能在这个问题上帮我吗?

EN

回答 1

Stack Overflow用户

发布于 2012-10-12 06:10:08

您应该将其格式化/打印为双倍,因为对于各种函数,浮点数被加宽到双倍。

以下ARM体系结构状态的过程调用标准

5.5参数传递 变量函数总是按照基本标准进行封送。 7.2通过辩论的公约 对于变量函数,与省略号(…)匹配的浮点参数转换为“双”类型。

Afaik 7.2一般适用C。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12852360

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档