#ifdef检查是否已定义该名称的宏,只能使用一个条件
#if defined计算表达式并检查真值,可以执行复合条件

#ifdef WIN32

#if defined (WIN32)

相同。
但要同时完成多种判断,则使用define:

#if defined(WIN32) || defined (_WIN32) || defined (__WIN64)

其中,不同系统下编译器定义的宏如下表,在该系统上大多数编译器均支持此宏

系统
linuxlinux
unix__unix 或 unix
apple_APPLE_ 或 _MACH_
android_ANDROID_
windows 32_WIN32
windows 64_WIN64

更多推荐