摘要: 异常控制流有什么用 每次从一条指令过渡到另外一条指令的过程称为控制转移,这样的一个控制转移序列叫做控制流,如果每条指令都是相邻的,这样的过渡就是平滑序列。如果一条指令与另外一条指令不相邻,这样突发性的过渡称为异常,也就是我们这一章要学到的异常控制流ECF ECF有什么用处 ECF是操作系统用来实现I 阅读全文
posted @ 2021-05-21 23:48 陌天森 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 重点 1.计算机的硬件资源 2.操作系统要提供的功能 3.宏内核与微内核 4.操作系统分层 硬件资源 计算机中资源大致可以分为两类资源,一种是硬件资源,一种是软件资源。先来看看硬件资源有哪些,如下: 总线,负责连接各种其它设备,是其它设备工作的基础。 2.CPU,即中央处理器,负责执行程序和处理数据 阅读全文
posted @ 2021-05-14 15:17 陌天森 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 分层: TCPIP通常是一个4层的协议:链路,网络,运输,应用。 链路层:就是整个计算机偏向硬件的那一部分,像是操作系统的设备驱动程序,网络接口卡之类的 网络层:网络层处理每个分组在网络中的活动,比如分组的选路,在TCP/IP协议族中,网络层协议包括IP协议(网际协议),ICMP协议(Interne 阅读全文
posted @ 2021-05-09 14:06 陌天森 阅读(3924) 评论(0) 推荐(0) 编辑
摘要: return是一个关键字,返回函数值;exit()是一个函数; return是语言级的;exit()是操作系统提供的函数; return表示函数退出;exit()表示进程退出; 非主函数中调用return和exit效果很明显,但是在main函数中调用return和exit的现象就很模糊,多数情况下现 阅读全文
posted @ 2021-05-01 16:55 陌天森 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 默认构造函数是可以不用实参数来进行的构造函数它包括了两种 1.没有带明显形参的构造函数 2.提供了默认形参的构造函数 类设计者可以自己写一个默认构造函数,编译器帮我们写的默认构造函数称为合成的默认构造函数,编译器总会给我们的构造函数增加一个隐含的this指针,所以本质上,是没有不带形参的构造函数的。 阅读全文
posted @ 2021-04-27 11:18 陌天森 阅读(541) 评论(0) 推荐(0) 编辑
摘要: c++虚函数表位于.rodata段,虚函数位于代码段。 当基类有虚函数时 1.每个类都有虚指针和虚表 2.如果不是虚继承,那么子类将父亲的虚指针继承下来,并指向自己的虚表(发生在对象构造的时候),有多少个虚函数,虚表里面的项就会有多少,多重继承时,可能存在多个基类虚表和虚指针 3.如果是虚继承,那么 阅读全文
posted @ 2021-04-25 16:46 陌天森 阅读(168) 评论(0) 推荐(0) 编辑
摘要: gcc时经过了四个步骤:预处理,编译,汇编,链接 预处理 gcc -E 处理源代码hello.c和其相关的头文件(stdio.h):将其生成为一个hello.i文件 预处理干了什么? 预处理主要处理那些以#开头的预编译指令:如#include,#define 1.将所有的#define删除,并且展开 阅读全文
posted @ 2021-04-17 18:00 陌天森 阅读(255) 评论(0) 推荐(0) 编辑
摘要: gcc -Og(生成符合原始c代码结构的机器代码) -S(生成所对应的汇编文件) hello.c 在实际开发过程中,会选用-O1或者-O2这种优化选项。但是使用高级别优化生成的代码会严重变形,导致产生的机器代码和最初的源代码之间的关系难以理解 -C会生成机器码,可以用obgdump转为汇编代码查看 阅读全文
posted @ 2021-04-15 00:47 陌天森 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 浮点数 float = (-1)S * FRAC * 2EXP(四个字节) 在内存中依次是:S(符号),EXP(阶码),FRAC(尾数) 分别占用:1位,8位,23位 double = (-1)S * 2EXP* FRAC(八个字节) 在内存中分布和float一样 分别占用:1位,11位,52位 浮 阅读全文
posted @ 2021-04-12 20:38 陌天森 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 十六进制表示法 用十进制表示二进制比较麻烦,所以人们通常用十六进制来表示二进制 可以记住ACF三个十六进制数字对应的二进制数字的数值来推算BDE A: 0X1010 C: 0X1100 F: 0X1111 2^n和十六进制的转换 2n == 1后面n个零 n = i + 4j 转换为十六进制就是0X 阅读全文
posted @ 2021-04-12 16:45 陌天森 阅读(129) 评论(0) 推荐(0) 编辑