当前位置: 技术问答>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后面,我觉得就一样了
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。