#if 如果给定条件为真,则编译下面代码(后面添加正常的条件语句)
#ifdef 如果宏已经定义,则编译下面代码(相当于if(!=NULL))
一般用于判断文件是否存在,以及编译环境等
#ifndef 如果宏没有定义,则编译下面代码(相当于if(==NULL))
#elif 如果前面的#if给定条件不为真,当前条件为真,则编译下面代码,相当于#elseif
#endif 结束一个#if……#else条件编译块
举个例子:
跨平台使用pv信号量函数
#ifdef _WIN32
#include "Windows.h"
#define sem_t HANDLE
#define sem_init _sem_init
#define sem_wait _sem_wait
#define sem_post _sem_post
#else
#include<semaphore.h>
#endif
判断Windows平台_WIN32