vs中 未初始化的变量的值 0Xcccccccc -858993460 烫

VC的DEBUG版会把未初始化的指针自动初始化为0xCCCCCCCC,而不是就让它随机去,那是因为DEBUG版的目的是为了方便我们调试程序的,如果野指针的初值不确定,那么每次调试同一个程序就可能出现不一样的结果,比如这次程序崩掉,下次正常运行,再一次虽然没崩掉,但结果不对……那显然对我们解bug是非常不利的。

__asm{int 3}的一个用处是在exe中可中断,产生调试。int 3 相当于 DebugBreak, 机器码就是CC。

当一个未初始化赋值的时候(至少是vc 下未初始化的内存)默认是0xCCCCCCCC;,他在内存就默认保存为-858993460 即二进制的11001100 11001100 11001100 11001100; 十六进制的CCCCCCCC;而汉字 "烫" 的编码恰好就是1100110011001100:

posted @ 2012-11-04 17:32  csqlwy  阅读(1269)  评论(0编辑  收藏  举报