摘要:1.异常控制 异常是一种形式的异常控制流,它的一部分是由操作系统实现,一部分是由硬件实现的.因为有一部分是有由硬件实现的,所以具体细节会随着操作系统的不同而不同,然而基本的思想都是相同的. 异常就是控制流中的突变,用来响应处理器状态中的某些变化.任何情况,当处理器检测到有事件发生时,它就通过一张异常表,进行一个间接过程调用(异常),到一个专门处理这类事件的操作系统子程序-异常处理程序: 当异常处理程序完成后,根据引起异常的事件类型,会发生以下三种情况之一: 1>处理程序将控制返回给当前指令 2>处理程序将控制返回给,如果没有发生异常时,将会执行的下一条指令 3>处理程序终止被
阅读全文
摘要:C语言程序的编译和链接过程1.程序的编译 一般而言,大多数编译系统都提供编译驱动程序(complier driver),根据用户需求调用语言预处理器,编译器,汇编器和链接器.例如有如下历程://main.cvoid swap();int buf[2]={1, 2};int main(){ swap(); return 0;} //swap.cint *bufp0 = &buf[0]int *bufp1;void swap(){ int temp; bufp1 = &buf[1]; temp = *bufp0; *bufp0 = *bufp1; *bufp1 = temp;} 驱
阅读全文
摘要:OO设计原则: 在程序设计领域,面向对象设计的设计原则有封装变化,面向接口而不是实现,优先使用组合而非继承,具体分为五个基本原则:单一功能原则SRP,开闭原则OCP,里氏替换原则LSP,接口隔离原则ISP,依赖反转原则DIP. 1>单一功能原则SRP: 单一功能原则SRP规定每个类都应该有一个单一的功能,并且该功能应该有这个类完全封装起来,所以这个类的服务都应该严密的和该功能平行(功能平行意味着没有依赖). 2>开闭原则OCP: 开闭原则OCP规定软件中的对象(类,模块,函数等)应该对于扩展是开放的,但是对于修改是封闭的,这意味着一个实体是允许在不改变它的源代码的前提下变更它的行为
阅读全文