C++ 在不同的系统上没有位置
我对在我的程序中应该使用什么样的errno()实现感到困惑 据我所知,标准errno()是在errno.h中定义的。然而,VisualStudio在stdlib.h中也有errno()。也许这是错误的,但对我来说,stdlib.h的errno()比errno.h的更快。但errno()也在stddef.h中定义C++ 在不同的系统上没有位置,c++,c,std,errno,C++,C,Std,Errno,我对在我的程序中应该使用什么样的errno()实现感到困惑 据我所知,标准errno()是在errno.h中定义的。然而,VisualStudio在stdlib.h中也有errno()。也许这是错误的,但对我来说,stdlib.h的errno()比errno.h的更快。但errno()也在stddef.h中定义 我应该用哪一个#ifdef#u WIN32#include#else#include#endif >,在C++中使用 CelrNO< /Cult>标头。 errno可以在其他标题中定义,
我应该用哪一个
#ifdef#u WIN32#include#else#include#endif
在C中,使用<代码> Ern.h < /C> >,在C++中使用<代码> CelrNO< /Cult>标头。
errno
可以在其他标题中定义,以方便使用,但为了最大的可移植性,您应该使用上面的标题。不确定Windows,但在Linux/Unix上,errno
在errno.h
中定义errno()
是什么意思?你想像调用函数一样调用errno
吗?Rob,我用括号来避免errno
符号和errno.h
文件之间的混淆。好吧,但在不同的系统上最快的实现是什么?@SiPlus:我们怎么知道?测量它并告诉我们。;-]<代码>错误号不能在其他标题中定义;任何执行此操作的实现都是错误的和损坏的。@R。。例如,对于NULL
,C标准不允许这样做,但在某些实现中就是这样。与标准标题相同,它们不能包含任何其他标准标题。