关于#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