UNIX环境高级编程习题——第一章

第一章习题

1.1在系统上验证,除了根目录外,目录.和..是不一样的spa

ls  .
ls  ..
ls  /.
ls  /..

图片描述

2.分析图1-6程序的输出,说明进程ID为852和853的进程发生了什么状况指针

#include "apue.h"
int main(void)
{
    printf("hello world from process ID %ld\n",(long)getpid());
    exit(0);
}

$./a.out
hello world from process ID 851
$./a.out
hello world from process ID 854

(1)在第一次执行./a.out时,有另外的两个进程占用了id为852和853的进程,当./a.out结束之后,852和853也已经结束了,查找不到该进程执行的动做。再次执行,./a.out便占用了854进程。code

1.3 在1.7节中,perror的参数是用ISO C的属性const定义的,而strerror的整型参数没有用此属性定义,为何?
(1)stderror是根据errno值返回相应的出错信息,所以不会将指向错误信息的字符串指针的指向修改,所以stderror的参数不须要const。
(2)而perror接受的参数是字符串指针,就可能存在修改指向错误信息的字符串指针的指向,所以须要const参数限定此行为。进程

1.4 若日历时间存放在带符号的32位整型数中,那么到哪一年它将溢出?图片

2^31/(6*60*24*365)=680年

1.5 进程时间存放的在带符号的32位整型数中,并且每秒为100时钟滴答,那么通过多少天后这个时间值将会溢出。字符串

2^31/(60*60*24*100)=248天
相关文章
相关标签/搜索