例如:
#ifdef CSP_DLL
if( !SUCCEEDED( CspCam_LoadLibrary() )) {
MessageBox( EcMsg[95], EcMsg[108], MB_OK |MB_ICONERROR);
return FALSE;
};
#endif
定义在宏之间的代码,与宏外的代码有何不同?请高手指点!

解决方案 »

  1.   

    #ifdef、#ifndef等这些宏由编译器来处理,不是在你的程序中执行。这个例子应这样解释:
    如果定义了CSP_DLL,你的程序中将有宏之间的这些语句,
    否则,程序中将不出现这些语句。
      

  2.   

    表示如果有定义CSP_DLL这个宏的话,中间这些代码才会被编译到obj文件中,否则就忽略过去不编译。
      

  3.   

    编译的时候,如果定义了CSP_DLL,你的程序中将有宏之间的这些语句,
    否则,程序中将不出现这些语句。