当前位置: 技术问答>linux和unix
ubuntu中预编译出现错误
来源: 互联网 发布时间:2017-03-10
本文导语: #define __USE_GNU//第一行 #include int main() { #ifdef __USE_GNU printf("hello"); #endif return 0; } 如果把这段程序在ubuntu中运行,尽然没有printf输出,但是在windows平台上面有!这是什么缘故,难道是编译器的原因? 还是__USE_GNU是ubuntu的关...
#define __USE_GNU//第一行
#include
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后面,我觉得就一样了
建议任何用户代码(除非为了检测glibc而用,如编译器系统头文件等)都不要使用
另外你可以尝试把#define __USE_GNU放#include后面,我觉得就一样了