读书人

printf()函数存在内存泄露?该怎么解决

发布时间: 2012-02-12 17:16:34 作者: rapoo

printf()函数存在内存泄露?
跟踪printf()函数发现:
首次使用printf函数时会调用_malloc_crt(_INTERNAL_BUFSIZ)来申请内存
但是在程序结束前并没有找到释放这段内存的地方,请问这里难道有内存泄露?
调用堆栈如下:
malloc_dbg(unsigned int nSize=4096, int nBlockUse=2,
const char * szFileName=0x00429578, int nLine=93)
_stbuf(_iobuf * str=0x0042cc60)
printf(const char * format=0x0042802c, ...)
main()



[解决办法]
程序都结束了,
就让系统来回收好了 ~

不过,
printf 有这个问题么?
没有关注过 ~
[解决办法]
是通过_malloc_crt手动申请的空间,系统可以回收吗?
虫虫说得很清楚了,在程序退出的时候,系统会收回所有内存。

估计这段内存是printf动态分配作为内部缓冲区的。

读书人网 >C语言

热点推荐