引言: VC中用于调试程序的几个宏的使用技巧黄向明 一、TRACE宏 当选择了Debug目标,并且afxTraceEnabled变量被置为TRUE时,TRACE宏也就随之被激活了。
摘要:前几天在写一个看图的小程序时无意中发现windows窗口系统的一个小缺陷。我们知道当一个windows窗口的位置改变、大小改变、被别的窗口覆盖的部分重新可见时,该windows程序必须负责重新绘制窗口无效部分的内容。一般情况下,程序员只需负责窗口客户区的部分的重画工作,窗口边框、滚动条、状态栏等非客户区部分由windows系统负责重画。让我觉得惊讶的是,在处理滚动条时,windows却没能正确的重......
摘要: 如果您使用windows,如果您经常使用微软的程序,或者您热衷于vb编程,抑或您流连于国际互联网,您不会不经常接触到ole和activex等拗口的洋文,但是您知道它们到底是啥意思,有啥来头吗?如果您有兴趣,请让我说给您听。我们首先从ole谈起。 一、过去的ole和今天的ole最初的ole含义是指在程序之间链接和嵌入对象数据,它提供了建立混合文档的手段(资深windows 3.x 用户可能记得......
VC中用于调试程序的几个宏的使用技巧
vc中用于调试程序的几个宏的使用技巧黄向明 一.trace宏 当选择了debug目标,并且afxtraceenabled变量被置为true时,trace宏也就随之被激活了.但在程序的release版本中,它们是被完全禁止的.下面是一个典型的trace语句: int ncount =9; cstring strdesc("total"); trace("count =%d,description =%s\n",ncount,strdesc); 可以看到,trace语句的工作方式有点像c语言中的printf语句,trace宏参数的个数是可变的,因此使用起来非常容易.如果查看mfc的源代码,你根本找不到trace宏,而只能看到trace0.trace1.trace2与trace3宏,它们的参数分别为0.1.2.3. 二.assert宏 如果你设计了一个函数,该函数需要一个指向文档对象的指针做参数,但是你却错误地用一个视图指针调用了这个函数.这个假的地址将导致视数据的破坏.现在,这种类型的问题可以被完全避免,只要在该函数的开始处实现一个assert测试,用来检测该指针是否真正指向一个文档对象.一般来讲,编程者在每个函数的开始处均应例行公事地使用assertion.assert宏将会判断表达式,如果一个表达式为真,执行将继续,否则,程序将显示一条消息并且暂停,你可以选择忽视这条错误并继续.终止这个程序或者是跳到debug器中.下面一例演示了如何使用一个assert宏去验证一个语句....
下一页 摘要:本人应朋友之需要,动手写了一个基于winamp2的音效插件:消歌声处理。 相关的开发文档均来自于winamp的官方网站,如果你对些感兴趣,可访:http://www.winamp.com/来了解关于插件开发的详细资料, 下面我简单地介绍一下dsp(音效)插件的编写。并给出部分源代码,完整的代码请从这里下载:()。winamp2的插件是一个win32的动态链接库,它位于winamp的安装目录下的p......