【发布时间】:2011-07-23 22:51:51
【问题描述】:
我需要保证它永远不会调用 malloc 的 snprint 变体。
那是因为这个 snprintf(我们称之为 safe_snprint())会
从 malloc 将失败或死锁的地方调用。
什么更接近真相,1 还是 2?
在 Windows 上,本机 snprintf 可能会调用 malloc。那么
我需要提取开源 snprintf.c 并将其称为 safe_snprintf()。或者在 Windows 上,本机 snprint 保证永远不会调用 malloc。
如果在某处记录在案,我更喜欢 (2)。谢谢
【问题讨论】:
-
目前我面前没有 MSVC 资源,但有 no 理由说明
snprintf永远需要进行任何分配。只需使用基于堆栈的内存即可完成所有需要完成的工作。