您尚未登录。

楼主 #1 2020-11-21 12:33:21

xiaohui
会员
注册时间: 2019-01-15
已发帖子: 259
积分: 137.5

在使用 v1.7.14版本的cjson在gcc下编译和armcc下编译遇到浮点表现不一样的问题 【楼主已解决】

cjson v1.7.14 commitid:d273527
https://github.com/DaveGamble/cJSON/releases/tag/v1.7.14
在打印13位时间戳的时候出现armcc下运行正常,但是在gcc下变成浮点数而且数值不对的问题。
例如:
     double sn = 1605890812435;
     cJSON_AddNumberToObject(root, "sn", sn);

armcc编译运行正常。sn:1605890812435
gcc编译运行。 sn:1.60589081200000

最近编辑记录 xiaohui (2020-11-21 12:36:03)

离线

楼主 #2 2020-11-30 11:04:43

xiaohui
会员
注册时间: 2019-01-15
已发帖子: 259
积分: 137.5

Re: 在使用 v1.7.14版本的cjson在gcc下编译和armcc下编译遇到浮点表现不一样的问题 【楼主已解决】

换成字符串来表示了,使用cjson请不要使用64bit的变量了,防止出现和楼主一样的情况出现。cjson的issue可以看到2018年的时候已经有人提出过这个疑问,但是官方认为64bit很少使用所以被否决了提议。所以cjson在2020-11-30年还是不支持64bit的。

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn