学习Linux之出错处理
2011-10-16 15:11
288 查看
errno.h头文件中,定义了errno:当API调用出错时,errno说明出错的具体原因
可简单地将errno理解成整型数据
出错信息转换成可读字符串
以前的定义:extern int errno; 不是线程安全的
多线程环境(/usr/include/bits/errno.h中41~49行):
在头文件中,如果没有定义"__ASSEMBLER__" 且没有定义"_LIBC" 或定义了"_LIBC_REENTRANT"
errno才能用于多线程
默认情况下,这些符号定义了吗?
默认情况,这3个符号一个都没有定义
保险起见,可以定义_LIBC_REENTRANT
可简单地将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
相关文章推荐
- Linux学习之出错处理(线程安全的日志类封装)
- Linux学习之出错处理(状态类封装)
- linux C出错处理
- Linux 守护进程出错处理
- 学习Altas 笔记[js调用重载的方法出错,如何处理]
- linux下《UNIX环境高级编程》(apue2)源码编译出错的处理方法
- 学习Linux-4.12内核网路协议栈(3.2)——网路层的发包处理
- Linux编程之出错处理
- 【Xilinx-Petalinux学习】-07-OpenCV的软硬件处理速度对比
- 学习笔记 --- LINUX 驱动调试之根据出错PC来分析
- Linux 网络连接出错处理
- Linux 出错处理
- [Linux学习笔记]信号处理
- linux编译带mysql的源文件出错处理办法
- 【嵌入式Linux学习七步曲之第五篇 Linux内核及驱动编程】深入剖析Linux中断机制之三--Linux对异常和中断的处理
- Linux学习笔记:rz接收文件出错解决
- 学习Altas 笔记[js调用重载的方法出错,如何处理]
- Linux学习——shell编程之正则表达式和字符处理命令
- 学习Linux-4.12内核网路协议栈(3.1)——网路层的收包处理
- Linux下编译《UNIX环境高级编程》的第一个程序时出错的处理方法