如何能恢复sprintf支持浮点数的功能?

发布于 2020-01-28 23:07:57
正在学习RTT, rt_kprintf不支持浮点,想用sprintf先转换为字符串,但发现sprintf也不支持浮点数,如何能恢复sprintf支持浮点数的功能? 有帖子说打开libc,我试了一下,没成功。

谢谢

查看更多

关注者
0
被浏览
543
9 个回答
bernard
bernard 2020-01-29
是否使用的gcc & minilibc?minilibc中的sprintf和rt_kprintf的类似。打开工具链后的libc会好很多。

既然大家对rt_kprintf支持浮点的呼声这么高,后面考虑增加一个选项以支持浮点(主要是加入浮点后,rt_kprintf的代码体积会增长挺多的)
xw19185
xw19185 2020-01-29
bernard 发表于 2020-1-29 10:18
是否使用的gcc & minilibc?minilibc中的sprintf和rt_kprintf的类似。打开工具链后的libc会好很多。

既然 ...


我使用的是RTT Studio,在其中打开libc。 另外RTT Studio中没找到下载后自动运行程序的选项?需要点启用调试才运行。还有构建分不分debug版和release版?
AlanChen
AlanChen 2020-03-19
我用的也是RTT Studio,在工程中已经添加了newlib库,使用sprint把浮点转换为字符串时,浮点数的地方是空的,不知道是什么原因呢?
霹雳大乌龙
霹雳大乌龙 2020-03-19
    本帖最后由 霹雳大乌龙 于 2020-3-19 21:01 编辑


AlanChen 发表于 2020-3-19 16:23
我用的也是RTT Studio,在工程中已经添加了newlib库,使用sprint把浮点转换为字符串时,浮点数的地方是
AlanChen
AlanChen 2020-03-20
问题已经解决了,因为我用的是newlib nano版本,为了节省CPU资源,默认是把printf/scanf float功能关掉的,把它使能就可以了
zmmfly
zmmfly 2020-03-20
bernard 发表于 2020-1-29 10:18
是否使用的gcc & minilibc?minilibc中的sprintf和rt_kprintf的类似。打开工具链后的libc会好很多。

既然 ...


还有%hhu, 移植的代码有%hhu得一个个改
coulson
coulson 2020-04-09
AlanChen 发表于 2020-3-19 16:23
我用的也是RTT Studio,在工程中已经添加了newlib库,使用sprint把浮点转换为字符串时,浮点数的地方是空的 ...


楼主的问题解决了吗?我也遇到同样的问题了
VxHunter
VxHunter 2020-04-09
这个好解决啊,修改下rt_kprintf的源码,里面用的rt_vsnprintf替换成标准库的就行了,然后链接选项打开printf float支持,就ok了
YZRD
YZRD 2020-07-22

打开rt studio的配置,如下图选择使能,可以使用sprintf打印浮点数。360截图20200722092056653.jpg

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友