#ifdef检查是否已定义该名称的宏,只能使用一个条件
#if defined计算表达式并检查真值,可以执行复合条件
#ifdef WIN32
和
#if defined (WIN32)
相同。
但要同时完成多种判断,则使用define:
#if defined(WIN32) || defined (_WIN32) || defined (__WIN64)
其中,不同系统下编译器定义的宏如下表,在该系统上大多数编译器均支持此宏
系统 | 宏 |
---|---|
linux | linux |
unix | __unix 或 unix |
apple | _APPLE_ 或 _MACH_ |
android | _ANDROID_ |
windows 32 | _WIN32 |
windows 64 | _WIN64 |