读书人

ubuntu中预编译出现异常

发布时间: 2012-09-06 10:37:01 作者: rapoo

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>后面,我觉得就一样了

读书人网 >UNIXLINUX

热点推荐