errno在不同系统上的位置

时间:2012-04-30 18:58:14

标签: c++ c std errno

我对我应该在程序中使用errno()的实现感到困惑。

据我所知,标准的errno()是在errno.h中定义的。但是,Visual Studio在stdlib.h中也有errno()。也许这是不正确的,但对我来说stdlib.h的errno()比errno.h更快。但是errno()也在stddef.h中定义。

我应该使用哪一个? #ifdef _WIN32 #include <stdlib.h> #else #include <errno.h> #endif

2 个答案:

答案 0 :(得分:8)

在C中,使用errno.h,在C ++中使用cerrno标题。

为方便起见,可以在其他标题中定义

errno,但为了获得最大的可移植性,您应该使用上面的标题。

答案 1 :(得分:0)

不确定Windows,但在Linux / Unix上,errno中定义了errno.h