|
发表于 2011-10-16 06:54:07
|
显示全部楼层
第 803 楼 转至第635楼第 635 楼 jshelp01 2011/10/15 10:23:18的原帖:mallocfree,成对写.如同{}成对写.想省事,自已编个文本处理器.自动检查,同一对{}里,mallocfree是否成对.c的内存管理自能靠自已.++++++++++++++++++++++++++++++开玩笑了。如果{}里mallocfree都成对,那99%的malloc(就是分配尺寸不是巨大的)都不需要了。c的标准库函数某些要分配内存并返回给用户的。用户负责用完后释放。比如strdup,还有dns查询的某些函数。因为这些函数无法实现知道要返回的数据的大小,必须在函数中分配。转至第646楼第 646 楼 precision73 2011/10/15 10:39:08的原帖:那有什么办法, 想自动化一点总要付出代价的.谁的孩子谁抱走.例外的,作例外处理.用上面的方法,一段文本处理程序,一个堆栈.搞定内存泄 这个难说,在存在例外等运行跳转的情况下,难保free能被执行。同时多分枝的代码也会出现malloc 和 free 不成对。与其这么麻烦,还不如用valgrind搞定。 |
|