|
|
@@ -7,6 +7,7 @@
|
|
|
## 接管标准C库的printf家族函数(仅支持4.1.0及以上版本)
|
|
|
本软件包有三个功能宏开关,默认是开启状态。即是否允许本软件包接管printf、sprintf以及snprintf函数,默认为yes,即接管。
|
|
|
也就是说,安装本软件包后,即便没有使能libc(RT_USING_LIBC),你可以正常的使用printf、sprintf以及snprintf函数,当你调用这三个函数时,会自动被rt_kprintf、rt_sprintf、rt_snprintf函数接管。你可以正常使用printf家族函数的所有功能。
|
|
|
+
|
|
|
```c
|
|
|
#include <stdio.h>
|
|
|
|
|
|
@@ -16,19 +17,16 @@ printf("hello world\n");
|
|
|
## ROM占用
|
|
|
GCC下占用8.6KB, Keil下占用8KB。远小于开启标准C库的ROM占用。
|
|
|
|
|
|
-
|
|
|
-## 维护
|
|
|
-[Meco Man](https://github.com/mysterywolf)
|
|
|
-
|
|
|
## 使用说明
|
|
|
+
|
|
|
- 使用 `RT-Thread Studio` 打开 `RT-Thread Settings`, 点击添加软件包,输入关键字 `printf`, 添加 `rt_vsnprintf_full` 软件包,保存
|
|
|
|
|
|
- 
|
|
|
+ 
|
|
|
|
|
|
|
|
|
- 软件包目录下多出了一个 `rt_vsnprintf_full-latest` 包
|
|
|
|
|
|
- 
|
|
|
+ 
|
|
|
|
|
|
|
|
|
- 打开 rt_vsnprintf.c,发现其中也实现了 rt_vsnprintf
|
|
|
@@ -40,7 +38,14 @@ GCC下占用8.6KB, Keil下占用8KB。远小于开启标准C库的ROM占用。
|
|
|
}
|
|
|
```
|
|
|
|
|
|
-- 注释 kservice.c 中的 rt_vsnprintf
|
|
|
+- 注释 kservice.c 中的 rt_vsnprintf **(只针对4.1.0版本以下)**
|
|
|
|
|
|
- 重新编译并运行 `rt_kprintf ` 和 `LOG_I`, 浮点数打印正常
|
|
|
- 
|
|
|
+ 
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+## 维护
|
|
|
+
|
|
|
+[Meco Man](https://github.com/mysterywolf)
|
|
|
+
|