DEBUG笔记
cx08030072
这个作者很懒,什么都没留下…
展开
-
DEBUG笔记一
刚开始研究VC,问题真多啊! 为了解决游戏窗口显示时闪烁的问题,今天学会了一个叫做“双缓冲”的技术。可是使用时出现了让我相当郁闷的错误。HDC hMemDC=CreateCompatibleDC(hDC);HBITMAP hbmMem=CreateCompatibleBitmap(hMemDC, GameEngine::GetGameEngine()->GetWidth(), GameEngine::GetGameEngine原创 2010-09-25 22:02:00 · 507 阅读 · 0 评论 -
DEBUG笔记二
刚开始学C语言时,老师说内存溢出的问题解决起来很麻烦。天天强调写程序时要细心,要特别注意指针、数组的使用。当时没什么感觉,甚至不以为然。我就想:这难道比逻辑错误更可怕? 今天写了个程序,终于让我明白了老师当时讲的简直是至理名言啊!/************************************Char str[20];***************************************/ sprintf(str,"时间:%d S 分原创 2010-09-27 22:22:00 · 409 阅读 · 0 评论 -
DEBUG笔记四
关于switch()语句里case分支的写法,我一直以为case后执行到break就结束,没必要用{ }.今天写了个程序,竟然出现了一个奇怪的错误 error C2360: initialization of 'hbm' is skipped by 'case' label error C2360: initialization of 'dc' is skipped by 'case' labelswitch(message){case WM_PAINT: HDC hDC; PAINTS原创 2010-10-02 21:47:00 · 483 阅读 · 0 评论 -
DEBUG笔记三
今天看了个程序,有一个Int全局数组没有初始化,但是也能使用,程序运行正常。进过DEBUG后发现数组在定义后就自动全部被赋值0。但是局部的同类型数组定义后的值却不是0。不知道这算不算VC的BUG?原创 2010-10-02 21:23:00 · 452 阅读 · 0 评论 -
DEBUG笔记五
今天总结下相同类型指针之间的运算问题。测试环境windowsXP ,VC6.0必须是相同类型的,不同类型指针无法运算1、算术运算“+“不行 error C2110: cannot add two pointers”-“可以,运算结果是int类型”*“、”/“、”%“都不行”++“、”--“可以2、关系运算 ”“ 、 ”=“ 、”==“ 、 ”!=“ 都可以3、逻辑运算“&&” 、“||” 、“!”都可以4、其他运算“-=” 、“+=”等均不可以原创 2010-10-03 20:37:00 · 457 阅读 · 0 评论 -
DEBUG笔记六
<br />P=(int*)&a;<br />看见这样的语句或许会认为是进行了指针的强制类型转换。但指针的类型转换应该怎么理解呢?是指针本身改变了,还是指针所指类容改变了?<br />void main()<br />{<br /> short a=4;<br /> int *p;<br /> p=(int*) &a;<br /> printf("%x/n",*p);<br />}<br />本来以为会输出a的值4,其实不然,结果是0xcccc0004。<br原创 2010-11-03 22:45:00 · 593 阅读 · 0 评论