首页 > 其他 > 详细

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

时间:2020-02-24 16:21:23      阅读:85      评论:0      收藏:0      [点我收藏+]

1,在系统上验证,除根目录外,目录.和..是不同的

  答:验证指令: ‘cd .‘和‘cd ..‘,前者代表当前目录,后者代表上级目录;

  修正:

1   banxia:~$ ls -ldi /etc/. /etc/..
2   44826625 drwxr-xr-x 150 root 0 12288 2月  11 06:57 /etc/.
3        2 drwxr-xr-x  28 root 0  4096 2月   4 06:54 /etc/..
4   banxia:~$ ls -ldi /. /..
5   2 drwxr-xr-x 28 root 0 4096 2月   4 06:54 /.
6   2 drwxr-xr-x 28 root 0 4096 2月   4 06:54 /..

 

 

  由上面的命令可知,除了根目录,其它目录的.和..都是指向不同的目录

2,分析下面程序:

1 #include "apue.h"
2 
3 int
4 main(void)
5 {
6    printf("hello world from process ID %ld\n", (long)getpid() );
7    exit(0);  
8 }

输出是:"hello world from process ID 851"

再执行一遍,输出:"hello world from process ID 854"

请说明进程ID为852和853发生了什么情况?

  答:在执行这两次程序的间隙中,系统产生了ID为852和853的其他进程,所以第二次运行进程ID为854。

3,perror的参数是用ISO C的属性const定义的,而strerror的整型参数没有用此属性定义,为什么?

  答:perror的参数是一个指针,如果不用const定义,可能perror会意外改变此指针指向的值;strerror的值是一个整型参数,只会传一个形参进strerror函数里,不会改变传进去的整型参数。

4,若日历时间存放在带符号的32位整型数中,那么到哪一年它将溢出?可以用什么方法扩展溢出浮点数?采用的策略是否与现有的应用相兼容?

  答:32位带符号整型数范围:-2,147,483,648?~2,147,483,648?,一年按365天计算,可能计算68.09年,到69年时他将溢出。采用32位无符号整型数扩展,因为都是32位数,且时间没有负数,所以与现有应用兼容。

5,若进程时间存放在带符号的32位整型数中,而且每秒为100时钟滴答,那么经过多少天后,该时间值会溢出?

  答:2,147,483,648?/100=2,147,483,6.48?s=248.55天后会溢出。

 

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

原文:https://www.cnblogs.com/mingyunrangwozoudaoxianzai/p/12356274.html

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