1、VC下,为了方便调试,对于delete之后指针的值或者指针变量初始化的时候,系统都会以0xcdcdcdcd来初始化指针变量。一般的,当指针值为0xcdcdcdcd时,都为无效指针。
注:0xcdcdcdcd与空指针不一样。
注:0xcdcdcdcd与空指针不一样。
2、VC下,为了检查内存越界,在new一块内存后,系统会在用户申请的内存区间的最后,额外透明的分配四字节内存(内容为:FD FD FD FD),作为越界检测只用。在释放内存的时候,系统会检查这几个字节,判断是否有内存访问越界的可能。
注:系统检查越界的函数:CheckBytes。
3、VC下,F5启动调试的时候,程序启动得非常慢。
有可能是断点过多,通过断点管理窗口禁用或删除多余断点即可。