VC中free()函数调试错误原因:
malloc了一个大小为sizeof(A)的空间,而分配后,会在第sizeof(A)+1个位置上写一个特殊数据,
来表示分配的这段空间的结束。所以,如果这个位置被覆盖,则这个结束标志位被擦除,导致free时会出错!!!
本文探讨了在VC环境中使用free()函数时常见的错误及其原因。特别关注了内存分配时在分配空间末尾标记特殊数据的做法,以及当该标记被覆盖时可能导致free()操作失败的问题。
VC中free()函数调试错误原因:
malloc了一个大小为sizeof(A)的空间,而分配后,会在第sizeof(A)+1个位置上写一个特殊数据,
来表示分配的这段空间的结束。所以,如果这个位置被覆盖,则这个结束标志位被擦除,导致free时会出错!!!

被折叠的 条评论
为什么被折叠?