This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] 编译器/TM4C1292NCZAD:vsnprintf()是否重入?

Guru**** 2382480 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/580053/compiler-tm4c1292nczad-is-vsnprintf-reentrant

部件号:TM4C1292NCZAD

工具/软件:TI C/C++编译器

您好,

我已经看到调用vsnprintf 调用将堆栈向上展开的问题。  我们正在运行一个多线程应用程序,它可以交错va_start和vsnprintf调用。

根据手册和维基,除了Sprinf外,printf系列不会重入。

这是否意味着vsnprintf不是重入者?

 

我们不使用任何C I/O缓冲区或任何堆(如果正确使用vsnprintf需要)。

我们不想实施锁定或关键部分,因为这用于调试跟踪,我们不想影响应用程序。

我们使用TI ARM编译器版本号为5.2。  

-Dominic  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    vsnprintf函数是重新输入的。

    谢谢,此致,

    -George