摘要:
问题描述: 深入理解C++默认构造函数 问题解决: 转载于 http://blog.csdn.net/hankai1024/article/details/7947989 错误认识1:若程序员没有自己定义无参数的构造函数,那么编译器会自动生成默认构造函数,来进行对成员函数的初始化。错误认识2:编译器合成出来的default constructor会明确设定'“class内每一个data member的默认值”。但这两种种认识是有误的,不全面的。正确认识: 默认的构造函数分为有用的和无用的,所谓无用的默认构造函数就是一个空函数、什么操作也不做,而有用的默认构造函数是可以初... 阅读全文
摘要:
问题描述: 拷贝构造函数问题解决: 转载于 http://blog.csdn.net/lwbeyond/article/details/6202256#一. 什么是拷贝构造函数 首先对于普通类型的对象来说,它们之间的复制是很简单的,例如:[c-sharp]view plaincopy int a = 100; int b = a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。 下面看一个类对象拷贝的简单例子。[c-sharp]view plaincopy #include usingnamespace std; ... 阅读全文
摘要:
问题描述: Unix中读权限和执行权限的比较? 问题解决: (1) Unix中读权限意味着可以打开这个文件目录 (2)Unix中的执行权限意味着可以搜索到该目录或者文件 (3)在一个目录中对一个文件的删除和创建不需要文件的读写权限,需要目录的写权限 阅读全文
摘要:
问题描述: 本程序实现模拟shell功能,用户输入命令,返回相应的结果 问题解决: 注: 以上指出了execvp函数的使用,使用时第一个参数是文件名,第二个参数是一个char *argv[] , argv列表中最后一个元素必须是NULL; 具体实现: 运行效果: 具体源代码: 阅读全文
摘要:
问题描述: setjmp和longjmp的使用 问题解决: setjmp和longjmp是C语言独有的,只有将它们结合起来使用,才能达到程序控制流有效转移的目的,按照程序员的预先设计的意图,去实现对程序中可能出现的异常进行集中处理。 先来看一下这两个函数的定义吧: setjmp和longjmp的函数原型在setjmp.h中 函数原型: int set... 阅读全文
摘要:
问题描述: 查看系统运行时的限制值 问题解决: 执行效果: 源代码: 阅读全文
摘要:
问题描述: 文件目录操作 问题解决: 阅读全文
摘要:
问题描述: Unix守护进程 问题解决: Unix守护进程没有控制终端,终端名设置为问号(?),终端前台进程组ID设置(TPGID)为-1 守护进程编写规则: (1)调用umask将文件模式创建屏蔽字设置为0,由继承得来的文件模式创建出屏蔽字可能会拒绝设置某些权限 (2)调用fork,然后使父进程退出。这样做实现了一下几点:第一,如果该守护进... 阅读全文
摘要:
问题描述: execl执行解释器文件以及shell命令 问题解决: 具体源文件: 阅读全文
摘要:
问题描述: Unix无缓冲文件操作函数、文件信息查询 问题解决: struct stat 结构体信息: 具体代码: 具体源文件: 阅读全文
摘要:
问题描述: 父进程与子进程竞争 问题解决: 具体源文件: 阅读全文
摘要:
问题描述: 获取进程以及子进程终止时间 问题解决: 具体源代码: 阅读全文
摘要:
问题描述: fork 函数 和vfork 函数的区别 问题解决: fork函数使用: 注: 以上printf 属于标准IO库带缓冲,如果标准输出链接到终端设备,则它是行缓冲,否则它是全缓冲 如果以控制台终端输出结果如下: 以上printf(“before fork”)只输出一行,原因是标准输出由换行符冲洗 如果... 阅读全文
摘要:
问题描述: 输出子进程状态 问题解决: 父进程如何检查子进程的终止状态呢?内核为每个终止子进程保存了一定量的信息包括进程ID、该进程的终止状态、以及该进程使用CPU的时间总量 父进程获取子进程终止状态: 注: 如上所示,使用wait或waitpid可以获取子进程的ID和终止状态,使用函数prtexit(自定义) 可以输出状态信息 ... 阅读全文