宠物店网站模板,你是网站设计有限公司的项目经理,建网站郑州,阿里巴巴1688采购平台官网解决GD32VF103编译printf无法打印 float
在GD32VF103编译后#xff0c;采用printf打印float变量时#xff0c;总是无法显示#xff0c;是因为编译时采用用newlib-nano库#xff0c;但是这个库对printf做了优化#xff0c;在eclipse的build配置use-newlib-nano的选项取消勾…解决GD32VF103编译printf无法打印 float
在GD32VF103编译后采用printf打印float变量时总是无法显示是因为编译时采用用newlib-nano库但是这个库对printf做了优化在eclipse的build配置use-newlib-nano的选项取消勾选就可以了 但是这样的话编译文件就会变大程序太大的话就下不进去了。所以只能用于调试调完后还是改回去吧。或者自己做小数显示。
什么是newlib
Newlib是一个面向嵌入式系统的C运行库由Cygnus Solutions收集组装的一个源代码集合取名为newlib现在由Red Hat维护最新的版本是2.1.0。对于与GNU兼容的嵌入式C运行库Newlib并不是唯一的选择但是从成熟度来讲newlib是最优秀的。 Newlib的特点包括以下几个方面
轻量级Newlib是一种轻量级的C语言标准库大小只有几百KB非常适合嵌入式系统使用。 移植性Newlib可以运行在各种处理器平台和操作系统上方便用户进行代码移植。 支持嵌入式系统Newlib适合嵌入式系统中使用提供了对底层硬件的支持如中断、定时器等。 标准兼容Newlib符合ANSI C和POSIX标准提供了标准C库所需的所有基本函数和数据类型。 总的来说Newlib具有轻量级、移植性强、支持嵌入式系统、标准兼容等特点非常适合在嵌入式系统中使用。
什么是newlib-nano
newlib-nano是一个针对嵌入式系统优化的开源C库特别适用于小型内存的MCU。它是newlib库的一个变种专门进行了代码和数据大小缩减以及MCU特性优化。与使用标准版本的newlib相比对于C和C项目使用newlib-nano可以极大地减少应用程序的大小。
newlib-nano在保持newlib所有功能的基础上重新实现了printf和scanf等函数以进一步减小代码大小。同时它支持C89标准的转换说明符移除了一些不必要的功能。但需要注意的是newlib-nano并不支持C99中引入的新格式说明符例如%hhX和%llX。总的来说newlib-nano在提供丰富功能的同时注重代码大小和运行效率的优化使其尤其适合于资源有限的嵌入式系统。