当前位置:首页
开发技术指南» 文章正文
    引言:
 

 

 ·怎样把cstring转化成char*或lpstr    »显示摘要«
    摘要: 怎样把cstring转化成char*或lpstr! ......
 ·htmlinputfile控件的问题    »显示摘要«
    摘要: .net提供的文件上传控件,我发现上传文件大小不能超过4m 有没有较好的方法上传大于4m的控件。 如有请给出原码或控件(限于vb.net编程语言) ......


关于ASSERT 与 TRACE 还有 ::怎么用啊

如1:  
  CBitmap*   pbmpOld   =   NULL;  
  pbmpOld   =   new   CBitmap();  
  ASSERT(pbmpOld   !=   NULL);  
   
  在调试运行的时候,可以检查出是否new了。  
  那在release   版本中,怎么知道已正确的new   了呢?  
   
  如2:  
  TRACE,怎么用呢?能举例吗?还有什么TRACE0,TRACE1都是什么意思呢?  
   
  如3:  
  为什么有的函数前要加::  
  ::WaitForSingleObject(...);  
  ::PostMessage(...);  
  那么什么时候该加,什么时候不用加呢?  
   
  谢谢!  
   
 

NO.1   作者: vctool

只能用IF  
  还有就是可以用异常  
  不过如果分配的内存不是特别大的话失败的可能性是很小的.

NO.2   作者: free_card

TRACE  
  TRACE(exp)  
  说明:  
  把一个格式化字符串送到转储设备,例如,文件或调试监视器,而提供与printf相似的功能。同MS_DOS下C程序的printf一样,TRACE宏是一个在程序运行时跟踪变量值的方便形式。在DEBUG环境中,TRACE宏输出到afxDump。在Release版中他不做任何工作。  
  注释:  
  此宏只在MFC的DEBUG版中有效。  
       
  TRACE0  
  TRACE0(exp)  
  说明:  
  与TRACE相似,但他把跟踪字符串放在代码段中,而不是DGROUP,因此使用少的DGROUP空间。TRACE0是一组跟踪宏的一个变体,这些宏可用于调试输出。这一组包括TRACE0,TRACE1,TRACE2和TRACE3,这些宏不同在于所取参数的数目不同。TRACE0只取一个格式化字符串并可用于简单文本消息。TRACE1取一格式化字符串加上一个变量——一个将转储的变量。同样,TRACE2,TRACE3分别取2个或3个参数。如果用户以便以了应用程序的发行版,那么它只把数据转储到afxDump。  
  注释:  
  此宏只在MFC的DEBUG中有效。  
       
       
  TRACE1  
  TRACE1(exp,param1)  
  说明:  
  参见TRACE0  
       
  TRACE2  
  TRACE2(exp,param1,param2)  
  说明:  
  参见TRACE0  
       
  TRACE3  
  TRACE3(exp,param1,param2,param3)  
  说明:  
   
  ASSERT  
  ASSERT(booleanExpression)  
  说明:  
  计算变量的值。如果结构的值为0,那么此宏便打印一个诊断消息并且成讯运行失败。如果条件为非0,那么什么也不做。   诊断消息的形式为:   assertion   failed   in   file   in   line   其中name是元文件名,num是源文件中运行失败的中断号。   在Release版中,ASSERT不计算表达式的值也就不中断程序。如果必须计算此表达式的值且不管环境如何那么用VERIFY代替ASSERT。  
  注释:  
  ASSERT只能在Debug版中用  
   
 

NO.3   作者: tonyzym

调试正常了,为了提高执行效率,在release版中就没有必要用了呀  
  前有::的函数很多是API函数

NO.4   作者: zhoory

::是全局变量说明符,除了::能调用API函数之外,你在程序中的全局函数也可以类似调用!

NO.5   作者: sevencat

我自己设计的类库里有个Find()函数,  
  而我include   的一个头文件中也有这个函数,  
  我就用::表示来引用头文件中的这个函数了.  
   
  ASSERT(pbmpOld   !=   NULL);  
  你改成if(pbmpold!=NULL)这样就在发行版本中也能用了.  
   
  trace()  
  就是说程序运行到一个地方时候向你汇报一下"我已安全抵达某处,"  
 


    摘要: 我现在想做一个网页,当进入网页之后这个网页表单上的东西就自动提交到别人个网页上去了,注意,我不是要转到另一个网页,而是要把数据提交到另一个网页,希望高手提示. ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE