首页 > 其他 > 详细

C 标准库系列之errno.h

时间:2016-12-03 15:46:17      阅读:135      评论:0      收藏:0      [点我收藏+]

  errno.h 提供了一个整数全局变量errno,当系统调用或者库函数的错误事件发生时可能会修改该值,指明错误的原因,该值可在任何需要的地方被修改;
一般情况不为0的值表示出现了异常或者错误。
  errno.h中定义了一系列的错误代码,以E开头的宏。

  glibc中extern int errno来声明定义该错误值;此外其他的E开头的宏EDOM、EILSEQ、ERANGE、EOWNERDEAD等。

  微软提供的为一个函数,errno被宏定义#define errno (*_errno());_errno函数可以返回该变量的地址,预计是为了线程安全;
此外微软有自己的一套错误体系GetLastError等;此外不同的三方库也可能提供自己的错误体系。

  不同的标准库实现的以E开头的宏,可能有不同的定义值,甚至有不同的宏名称;可根据需要查看各个平台的错误码定义说明;

在现实应用中应尽量不要依赖于errno值,因为很可能当调用某个函数失败后,检查该值时,其值有可能又被其他函数给修改了,不过有时候对于检查问题的原因还是有用的。

C 标准库系列之errno.h

原文:http://www.cnblogs.com/haomiao/p/6128556.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!