前言
- 有童鞋说在gcc下,vsnprintf来替代rt_vsnprintf来打印浮点会引发死机
- 经过实际验证,没有发现死机
- 但并不建议直接用vsnprintf来替代rt_vsnprintf,打印浮点多半用于调试,可以独立成一个专门的打印函数
- vsnprintf只是用于把浮点格式化到字符串,只要字符串长度不溢出,理论上不会造成死机
- 如果发现死机,需要确认打印的环境,如中断中,尤其在串口输出的情况下
测试例程
- RT-Thread Studio
arm-none-eabi-gcc
环境:未发现死机现象
- Keil MDK5 环境:未发现死机现象
- cygwin gcc 环境:未发现死机现象
- 可以正常的用于浮点数的调试打印
/*
* Copyright (c) 2006-2018, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2018-11-06 SummerGift change to new framework
*/
#include <