我们在使用VS进行C++编程时经常会遇到
#ifdef _WIN32
xxxxxxx
#else
xxxxx
#endif
这样的写法。我们的代码有时需要在Windows系统下运行,有时需要在Linux系统下运行,那么这时代码的可以移植性就显得很重要,这种写法就是为了方便代码在不同的平台之间移植而设计的,可以提高软件的移动性,根据不同的平台,设计不同的代码,避免因平台的原因而运行失败或错误。下面以一个例子说明这种写法的作用。
#ifdef _WIN32
#include <windows.h>
#include<process.h>
#else
#include<unistd.h>
#include <signal.h>
#include<pthread.h>
#endif
解释:
如果是Windows平台,则执行下面的#include <windows.h>和#include<process.h>头文件;
如果不是Windows平台,则执行#include<unistd.h>、#include <signal.h>和#include<pthread.h>头文件。