Advertisement

optimized for Freertos printf, sprintf, and snprintf

阅读量:

优化版printf、sprintf、snprintf

printf-stdarg.c

在使用标准C库函数时,在FreeRTOS环境中下载的某些模块可能会导致栈空间占用急剧增加。特别是一些涉及IO和字符串处理的功能模块(如
sprintf),它们可能导致栈空间需求激增。其中,在FreeRTOS下的某个资源管理包中包含一个名为printf-stdarg.c的源文件
。这个文件实现了针对栈效率优化的一个小型版本的
sprintf功能模块,并且可以用作替代标准库中的
sprintf实现
。一般而言,在大多数场景下应用这种替代方案后可以使相关任务对栈空间的需求显著减少

printf-stdarg.c 的源代码是公开的,并属于第三方。因此此源代码的 license 不依赖于 FreeRTOS。具体的 license 条款包含在该源文件的起始部分

调用接口如下:(具体实现请参见demo工程里的printf-stdarg.c)

复制代码
    int printf(const char *format, ...)
    {
        va_list args;
        
        va_start( args, format );
        return print( 0, format, arg

全部评论 (0)

还没有任何评论哟~