摘要:最近把一个之前在VC6.0下做的工程放到VS2008下修改,结果发现编译出错,查找相关资料后,发现主要是VS2008下默认的是 使用UNICODE字符集,而在VC6.0下默认的是使用多字节字符集,结果导致CString,TCHAR等都出现一些问题,于是又顺便恶补了一下字符集相关的知识。关于几种字符类型:CHAR:一个字符占8位,1个字节,可以表示中文,但是会有本地化问题,就比如有时候下到一个游戏,结果发现所有文字都是乱码,需要设置本机的区域选项才可以正常显示文字,就是因为这个问题导致的,如果使用WCHAR就不会有这个问题。WCHAR:一个字符占16位,2个字节,可以表示中文,不会有本地化问题。
阅读全文
随笔分类 - 基础
摘要:出现的问题:0x00xxx处未处理的异常 0x000xxx 读取位置0x000xxx时发生访问冲突中断后查看调用堆栈,没有任何信息,只显示一个地址0x000xxx。出现问题的原因:出现这种问题一般有以下几个原因:数组越界指针指向非法地址除0--这个其实也是一种越界解决办法:查找所有数组,指针,以及有除法运算的地方。补充: 这次调试碰到个奇怪的问题,比如:int nArr[3];if (nArr[4] < 3) //这样的,只是访问越界地址 不一定会导致崩溃 只是结果可能和预想的不同 比如这里可能结果是true也可能是false{ return 0;} 但是:nArr[4] = 1;...
阅读全文

浙公网安备 33010602011771号