#if 0
DoubleBufferDC->SelectObject(DoubleBufferBitmap);
DoubleBufferDC->SelectObject(Pen);
DoubleBufferDC->SelectObject(Brush);
#else
SelectObject(DoubleBufferDC->GetSafeHdc(), DoubleBufferBitmap);
SelectObject(DoubleBufferDC->GetSafeHdc(), Pen);
SelectObject(DoubleBufferDC->GetSafeHdc(), Brush);
#endif奇怪的是#if 0 ---- #else之间的工作, 而#else 和 #endif之间的不工作。为什么?

解决方案 »

  1.   

    你是如何判断出“#if 0 ---- #else之间的工作, 而#else 和 #endif之间的不工作”的呢?
      

  2.   

    应该是
     #else 和 #endif之间的工作。
    #if 0 ---- #else之间的不工作之所以这么用,是这样修改代码比较方便,直接把0改为1
    #if 1 ---- #else之间的就工作了
      

  3.   

    #if 
    #else
    #endif
    是预编译指令请百度搜索一下预编译指令
      

  4.   

    不会是
    写的是#if o(字母o)
      

  5.   

    试了一下,发现#if o和#if 0的结果是一样的,都当作false来处理。总不至于他在前面还曾经#define o 1了吧?