UNIX环境高级编程-第一章习题
ls -> list files
ls -i
inode
显示inode节点信息
ls -d
directory
表示显示目录自身的属性,而不是目录中的内容。
ls -l
long list format
除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
除了根目录,其它目录的.和..都是指向不同的目录
#include "apue.h"
int main(void)
{
printf("hello world from process ID %ld\n", (long)getpid() );
exit(0);
}
chmod -> change mode
chmod r+x
chmod 777
程序需要先编译再运行(?)
mv a.out a.c
gcc -o a.out a.c
./c.out
输出是:"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^31 ~ 2^31 -1
-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.48s=248.55天后会溢出。
仇实
仇实
宣传栏
ls -> list files
ls -i
inode
显示inode节点信息
ls -d
directory
表示显示目录自身的属性,而不是目录中的内容。
ls -l
long list format
除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
除了根目录,其它目录的.和..都是指向不同的目录
#include "apue.h"
int main(void)
{
printf("hello world from process ID %ld\n", (long)getpid() );
exit(0);
}
chmod -> change mode
chmod r+x
chmod 777
程序需要先编译再运行(?)
mv a.out a.c
gcc -o a.out a.c
./c.out
输出是:"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^31 ~ 2^31 -1
-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.48s=248.55天后会溢出。