#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
用模版作出来的对话框,这些DEBUG什么意思

解决方案 »

  1.   

    编译伪指令#ifdef _DEBUG,如果_DEBUG宏被定义过了,该条件编译为真,表示你要编的工程是Debug版的这时候编译器用DEBUG_NEW替换 new 操作符 #undef THIS_FILE 这句话是取消THIS_FILE的定义,因为它可能在工程文件的其它地方定义过了。
    static char THIS_FILE[] = _FILE_
    表示重新用_FILE_重新定义THIS_FILE
    static表示THIS_FILE这个全局变量只在当前.cpp文件中可见
      

  2.   


    _FILE_是表示当前源文件名的宏因为每个源文件的名称都不同,所以需要在每个.CPP文件中THIS_FILE都要重新定义一次。