学习Linux之出错处理

来源:互联网 发布:ssh 默认端口是多少 编辑:程序博客网 时间:2024/06/05 21:50
errno.h头文件中,定义了errno:当API调用出错时,errno说明出错的具体原因
可简单地将errno理解成整型数据
出错信息转换成可读字符串
#include<string.h> char* strerror(int errno); 
以前的定义:extern int errno; 不是线程安全的
多线程环境(/usr/include/bits/errno.h中41~49行):
     extern int *__errno_location();      #define errno (*__errno_location())
在头文件中,如果没有定义"__ASSEMBLER__" 且没有定义"_LIBC" 或定义了"_LIBC_REENTRANT"
errno才能用于多线程
默认情况下,这些符号定义了吗?
默认情况,这3个符号一个都没有定义
保险起见,可以定义_LIBC_REENTRANT



原创粉丝点击