- 博客(14)
- 收藏
- 关注
转载 已知可生成0~4的rand5(),实现生成0~6的rand7()
若已知生成0~6的rand7(),求生成0~4的rand5(),则一个方法就是不断生成0~7的数,直到这个数满足0~4就返回。int rand5(){ int res; do{ res = rand7(); }while(res >4); return res;}现在已知生成0~4的rand5(),求解生...
2017-04-14 21:31:00 171
转载 管道
fork()后,父子进程将有各自独立的存储空间,他们之间是无法像同一进程之间通过传参或使用全局变量来进行数据交换的。怎么办?管道就是一种简单的实现进程间通信的方式。 管道被创建后,将得到两个文件描述符file_des[1]和file_des[0](描述符的名字取决于管道创建的参数)。 file_des[1]用于向管道中写入,file_des[0]用于从管道中读。读的顺...
2017-02-21 17:25:00 204
转载 STL容器基本功能与分类
STL有7中容器。分别为: vector 向量 <vector>(头文件) 随机访问容器、顺序容器 deque 双端队列 <deque> 随机访问容器、顺序容器 list 列表 <list> 可逆容器、顺序容器 set 集合 <set> ...
2017-02-15 19:53:00 217
转载 函数模板与类模板
函数模板,顾名思义,是在生成函数时依照的模板。 有时,我们需要对不同的数据类型做同样的函数操作。 比如:分别对一个int类型数 和 一个double类型数求平方。这时,虽然都是同样的求平方操作(函数体内代码一样),但是我们必须要编写两个不同的函数,因为处理int类型的函数的参数和返回值类型都应该是int,而处理double类型的函数的参数和返回值都应该是double。...
2017-02-13 21:10:00 124
转载 信号处理对进程执行的影响
当要处理信号捕捉问题时,我们可以为某一信号设置自定义的信号处理函数,这个信号处理函数会对正在执行的进程有怎样的影响?一、对进程执行的干预:1.当信号被捕捉时,进程正在执行用户态程序指令,(即用户自行编写的代码或 库程序代码): 此种情况下,进程正执行的代码将被暂停,转而去执行信号处理函数。只要信号处理函数中 不 exit()终止当前进程 或 用longjmp跳转到别的...
2017-02-13 16:55:00 319
转载 堆栈的三种实现方式
传统的堆栈操作只有 入栈push 和 出栈pop 两种,没有单独的访问栈顶元素的操作,访问栈顶元素的唯一方式就是出栈(pop会把堆栈顶部的值移出堆栈并返回这个值)。这样的pop存在副作用。 所以,我们在这里实现提供push、pop、top三种基本操作的堆栈。实现堆栈这一抽象数据类型(ADT),即要实现:入栈(push)、出栈(pop)、访问栈顶元素(top)的操作,另外加上...
2017-02-04 15:23:00 622
转载 关于Linux内核版本
Linux内核可分为实验版本和产品化版本。每一个版本号由三位数字“x.y.z”组成,第二位数字说明版本类型:偶数表示产品化版本,奇数表示实验版本。产品化版本只修改错误,而实验版本最初是产品化版本的拷贝,并继续增加新功能,直至经测试证明其稳定性后,再经复制生成新的产品化版本。以此类推下去。转载于:https://www.cnblogs.com/Carrie-0173/p/...
2017-01-29 22:22:00 310
转载 什么是操作系统?
我们应知道,在一个计算机系统中,硬件与软件资源可分为:处理器、存储器、I/O设备和信息(数据和程序)四类。而OS它是一个计算机系统资源的管理者,并实现了对计算机资源的抽象,连接了用户与计算机硬件系统,作为用户与计算机硬件系统之间的接口(软件接口)。一、 关于OS对计算机系统资源的管理:OS的主要功能就是:(1)、处理机管理:分配和控制处理机(2...
2017-01-29 22:18:00 124
转载 进程三种基本状态
进程的三种基本状态:(1) 就绪状态:进程已获得除CPU外的所有必要资源,只等待CPU时的状态。一个系统会将多个处于就绪状态的进程排成一个就绪队列。(2) 执行状态:进程已获CPU,正在执行。单处理机系统中,处于执行状态的进程只一个;多处理机系统中,有多个处于执行状态的进程。(3) 阻塞状态:正在执行的进程由于某种原因而暂时无法继续执行,便...
2017-01-29 21:53:00 577
转载 C++中结构体和类的区别
在C++中,结构体是一种特殊形态的类。结构体和类的唯一区别就是: 结构体和类具有不同的默认访问控制属性。 类中,对于未指定访问控制属性的成员,其访问控制属性为私有类型(private) 结构体中,对于未指定任何访问控制属性的成员,其访问控制属性为公有类型(public)C++中,不使用结构体丝毫不会影响程序的表达能力。C++之所以要引入结构体,是为了保持和C程序的兼...
2017-01-29 21:26:00 996
转载 堆排序
时间复杂度:O(nlog2n)空间复杂度:O(1)稳定性:不稳定适合情况:堆排序适合待排序数据较多的情况堆,它是一棵完全二叉树,且只对父节点和儿子节点的大小加以规定,而对左儿子和右儿子节点的大小关系不要求。 (大根堆):如果一个节点有儿子节点,则此节点数据必须大于或等于其儿子节点数据。(小根堆与之相反)由于堆是完全二叉树,采用将节点顺序编号存入一...
2017-01-29 20:39:00 242
转载 gcc编译
gcc编译器编译过程: 预处理器 编译器 汇编器 链接器源程序----------->被修改的源程序----------->汇编程序---------->可重定位目标文件------->可执行目标程序hello.c(文本) hello.i(文本) hello.s(文本) hello.o(二...
2017-01-25 22:38:00 112
转载 正则表达式
在模式匹配( 即 将设定的“字符串模式” 与 “字符串”进行匹配)中,我们使用正则表达式来描述一个“字符串模式”。正则表达式是一个非常强大的存在,被非常广泛的应用着。在vi的模式查找与替换命令中、more、grep、awk、expr等用于处理文本数据的命令中,都可以使用正则表达式来描述“模式” 比如,用grep筛选文件hello.c中的带有数字的行:grep '[0-9][0-...
2017-01-25 19:41:00 119
转载 make与makefile
当我们写程序过程中存在多个文件之间有复杂的包含关系时,若修改了其中一个源文件,就重新编译所有文件,一般是不必要的,并且当文件很多时,就显得非常笨拙。所有包含该文件的文件需要重新编译,而其它无关系的文件则不需要编译,但往往判断的这个过程会很令程序员头疼,并且一不小心就会出现某些需要重新编译的文件被遗漏的情况,这样就会使程序无法正常工作。...
2017-01-25 17:38:00 102
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人