关于#ifndef以及#ifndef WIN32

一般用法是这样的:
这里可以定义如下:
#define XXXXX

#ifdef XXXXX
这里做一些操作,这些操作只有在XXXX已经被define的情况下才会执行到。一般还可能有else,如
#else
做另一些操作。。。
#endif

例子1:

#include "iostream.h"
int main()
{
#ifdef DEBUG     
cout<< "Beginning execution of main()";
#endif     
return 0;
}
//运行结果为:Press any key to continue

例子2:

 

//改写代码如下:
#include "iostream.h"
#define DEBUG
int main()
{
#ifdef DEBUG     
cout<< "Beginning execution of main()";
#endif      
return 0;
}
//运行结果为:Beginning execution of main()
//          Press any key to continue

 

对于#ifndef Win32是指看你的工程有没有预先加入win32的宏定义

这个一般是根据你开始建立新工程时候有没有选择win32来决定的

  经常在程序中碰到#ifdef WIN32这样的代码,实际上这提供了一种抽象机制,使代码可以在不同平台间移植. 下面给出一个简单的例子:

 

#include<iostream>  
using namespace std;  
  
#ifdef WIN32  
#define HAHA 1  
#else  
#define HAHA 0  
#endif  
  
int main()  
{  
    int i = HAHA;  
    cout << i << endl;  
  
    return 0;  
}

 

如果你在windows平台下编译

程序结果为:1

 

posted @ 2018-06-03 21:42  feifanren  阅读(1915)  评论(0编辑  收藏  举报