摘要: 基础指令: -g:使用该参数编译可以执行文件,得到调试表。 gdb ./a.out list: list 1 列出源码。根据源码指定 行号设置断点。 b: b 20 在20行位置设置断点。 run/r: 运行程序 n/next: 下一条指令(会越过函数) s/step: 下一条指令(会进入函数) p 阅读全文
posted @ 2020-05-17 19:35 INSTANCE_SELF 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 一:GCC使用gcc编译: 4步骤: 预处理、编译、汇编、链接。 gcc -E 进行预处理 gcc -E hello.c -o hello.i 预处理:条件编译,宏展开替换,空格去除,删除注释,头文件展开 编译 gcc -S hello.c -o hello.s 编译阶段检查语法错误(消耗的时间是最 阅读全文
posted @ 2020-05-17 19:27 INSTANCE_SELF 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 组件协作模式:现代软件专业分工之后的第一个结果是“框架与应用程序的划分”,“组件协作”模式通过晚期绑定,来实现框架与应用程序之间的松耦合,是二者之间协作时常用的模式。 (1)动机(Motivation) 在软件构建过程中,我们需要为某些对象建立一种“通知依赖关系” ——一个对象(目标对象)的状态发生 阅读全文
posted @ 2020-05-17 13:34 INSTANCE_SELF 阅读(202) 评论(0) 推荐(0) 编辑
摘要: (1)动机(Motivation): Ø在软件构建过程中,某些对象使用的算法可能多种多样,经常改变,如果将这些算法都编码到对象中,将会使对象变得异常复杂;而且有时候支持不使用的算法也是一个性能负担。如何在运行时根据需要透明地更改对象的算法?将算法与对象本身解耦,从而避免上述问题? (2)模式定义 定 阅读全文
posted @ 2020-05-17 13:32 INSTANCE_SELF 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 3.1模式分类 从目的来看: • 创建型(Creational)模式:将对象的部分创建工作延迟到子 类或者其他对象,从而应对需求变化为对象创建时具体类型实 现引来的冲击。 • 结构型(Structural)模式:通过类继承或者对象组合获得更灵 活的结构,从而应对需求变化为对象的结构带来的冲击。 • 阅读全文
posted @ 2020-05-17 13:31 INSTANCE_SELF 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 面向对象设计:变化是复用的天敌,面向对象设计最大的优势在于抵御变化! 2.1重新认识面向对象: 理解隔离变化 • 从宏观层面来看,面向对象的构建方式更能适应软件的变化, 能将变化所带来的影响减为最小。 Ø各司其职 • 从微观层面来看,面向对象的方式更强调各个类的“责任” • 由于需求变化导致的新增类 阅读全文
posted @ 2020-05-17 13:28 INSTANCE_SELF 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 一:内容总结 1:主要的目的: (1) 理解松耦合设计思想 例如(活字印刷) (2) 掌握面向对象设计原则 (3) 掌握重构技法改善设计 (4) 掌握GOF 核心设计模式 2:什么是设计模式? 每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用 阅读全文
posted @ 2020-05-17 13:26 INSTANCE_SELF 阅读(1024) 评论(0) 推荐(0) 编辑