ubuntu中预编译出现异常

ubuntu中预编译出现错误

C/C++ code

#define __USE_GNU//第一行
#include<stdio.h>
int main()
{
#ifdef __USE_GNU
    printf("hello");
#endif
    return 0;

}

如果把这段程序在ubuntu中运行,尽然没有printf输出,但是在windows平台上面有!这是什么缘故,难道是编译器的原因?
还是__USE_GNU是ubuntu的关键字?求解释


哎,__USE_GNU是glibc的内部宏,会影响stdio等来源于glibc的判断

建议任何用户代码(除非为了检测glibc而用,如编译器系统头文件等)都不要使用

另外你可以尝试把#define __USE_GNU放#include<stdio.h>后面,我觉得就一样了

ubuntu中预编译出现异常

相关文章:

你感兴趣的文章:

标签云: