APUE第一章
2014-07-14 12:00
253 查看
1.1 在系统上查证,除根目录外,目录.和..是不同的
ans:用vim打开.和..就可以看到区别。
1.2 分析程序清单1-4的输出,说明进程ID为852和853的进程发生了什么情况。
ans:进程852和853在运行
1.3 在1.7节中,perror的参数是用ISO C的属性const定义的,而strerror的整形参数则没有用此属性定义,为什么?
ans: char *strerror(int errnum);
void perror(const char *msg);
如果msg是一个指针的话,则perror可能会改变指针所指的值,所以要用const来限制使之不能更改msg的值。
strerror中的errnum是int值,strerror根本无法改变errnum的值。根据传参的标准。
1.4 在附录B包含了出错记录函数log_doit,当调用该函数时,先保存了errno的值,为什么?
ans:因为errno可能在函数里面执行的时候会改变,所以先保存下来,然后在需要输出的时候输出errno_save.
1.5 若日历时间存放在带符号的32位整形数中,那么到哪一年它将溢出?可以用什么方法扩展浮点数?他们是否与已存在的应用相见兼容?
ans:带符号的32位整形数,最大是2147483647,2147483647/(60*60*24*365)=68年。日历时间开始是1970年1月1日00:00:00。1970+68=2038年。可以使用64位的整形书,兼容。
1.6 若进程时间存放在带符号的32位整数中,而且每秒为100滴答,那么经过多少天后该时间值会溢出?
ans: 带符号的32位整数中,最大值是2147483647.所以2147483647/(100*60*60*24)=248天
ans:用vim打开.和..就可以看到区别。
1.2 分析程序清单1-4的输出,说明进程ID为852和853的进程发生了什么情况。
ans:进程852和853在运行
1.3 在1.7节中,perror的参数是用ISO C的属性const定义的,而strerror的整形参数则没有用此属性定义,为什么?
ans: char *strerror(int errnum);
void perror(const char *msg);
如果msg是一个指针的话,则perror可能会改变指针所指的值,所以要用const来限制使之不能更改msg的值。
strerror中的errnum是int值,strerror根本无法改变errnum的值。根据传参的标准。
1.4 在附录B包含了出错记录函数log_doit,当调用该函数时,先保存了errno的值,为什么?
ans:因为errno可能在函数里面执行的时候会改变,所以先保存下来,然后在需要输出的时候输出errno_save.
1.5 若日历时间存放在带符号的32位整形数中,那么到哪一年它将溢出?可以用什么方法扩展浮点数?他们是否与已存在的应用相见兼容?
ans:带符号的32位整形数,最大是2147483647,2147483647/(60*60*24*365)=68年。日历时间开始是1970年1月1日00:00:00。1970+68=2038年。可以使用64位的整形书,兼容。
1.6 若进程时间存放在带符号的32位整数中,而且每秒为100滴答,那么经过多少天后该时间值会溢出?
ans: 带符号的32位整数中,最大值是2147483647.所以2147483647/(100*60*60*24)=248天
相关文章推荐
- APUE学习: 第一章, Unix基础知识
- 读书笔记----APUE(第一章)
- 《APUE》 第一章 图1-7 程序代码中execlp()部分解析
- Apue第一章
- 【UNIX——01】APUE第一章
- APUE学习之旅-第一章:UNIX System Over view
- 【转】apue《UNIX环境高级编程第三版》第一章答案详解
- 《APUE》笔记--第一章
- apue学习第四天——第一章的其它内容
- 《APUE》笔记--第一章
- APUE第一章笔记
- APUE第一章
- APUE第一章_课后习题
- apue《UNIX环境高级编程第三版》第一章答案详解
- apue第一章 (3)
- APUE-第一章学习-UNIX基础知识-习题
- UNIX基础知识--《APUE》第一章笔记
- apue第一章 (1)
- 【APUE】1、第一章 UNIX基础知识
- 《apue》读书笔记 第一章 UNIX基础知识