今天为了弄明白用什么宏来区分linux平台,特意写了个小程序试了一下。
代码如下:
#include
int main(int argc, char *argv[]) { #ifdef LINUX printf("LINUX/n"); #endif
#ifdef _LINUX printf("_LINUX/n"); #endif
#ifdef __LINUX printf("__LINUX/n"); #endif
#ifdef _LINUX_ printf("_LINUX_/n"); #endif
#ifdef __LINUX__ printf("__LINUX__/n"); #endif
#ifdef linux printf("linux/n"); #endif
#ifdef _linux printf("_linux/n"); #endif
#ifdef __linux printf("__linux/n"); #endif
#ifdef _linux_ printf("_linux_/n"); #endif
#ifdef __linux__ printf("__linux__/n"); #endif
#ifdef GNU printf("GNU/n"); #endif
#ifdef _GNU printf("_GNU/n"); #endif
#ifdef __GNU printf("__GNU/n"); #endif
#ifdef _GNU_ printf("_GNU_/n"); #endif
#ifdef __GNU__ printf("__GNU__/n"); #endif
#if defined(gnu) || defined(_gnu) || defined(__gnu) || defined(_gnu_) || defined(__gnu__) printf("*gnu*/n"); #endif
return 0; }
运行结果:
linux __linux __linux__
|