现在的位置: 首页 > 综合 > 正文

Linux下默认的宏测试

2014年01月21日 ⁄ 综合 ⁄ 共 1127字 ⁄ 字号 评论关闭

今天为了弄明白用什么宏来区分linux平台,特意写了个小程序试了一下。

代码如下:

#include <stdio.h>

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__

抱歉!评论已关闭.