- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2 用户名/密码:lxpstud/stu 联系方式:刘喜平 5228795@ * * * C/C++大规模程序设计 刘喜平 5228795@ 大型程序与小型程序的区别 什么是大型程序? 代码量: 100line ? 1000line ? 10000line 大型程序与小型程序的区别 代码量大,文件数量多 设计复杂 调试困难 不易维护 程序不是代码的简单叠加 大型程序 ? ?(小程序) 从小程序到大型程序 大规模程序设计的关键 良好的设计 模块化 模块满足高内聚、低耦合 清晰的接口 代码的复用 可读性和可维护性 。C 语言程序的加工过程 函数分解 在编写大些的程序时,应该特别注意程序的功能分解,在这里也就是函数分解。 什么样的程序片段应当定义成函数? 程序中有重复出现的相同或相似的计算片段。可考虑从中抽取出共同的东西,定义为函数。 程序中具有逻辑独立性的片段。即使这种片段只出现一次,也有可以考虑把它们定义为独立的函数,在原来需要这段程序的地方写函数调用。 分块开发 分块开发中最重要工作就是程序结构的“物理”组织。在 C 语言里做分块开发,需要借助于 C 系统的预处理功能,以达到对源程序的适当物理划分,并设法保证组成同一个程序的不同部分之间的一致性,以便使编译之后的目标代码模块能组合成一个具有内在一致性的完整的可执行程序。 物理组织的合理原则 头文件里只写不实际生成代码、不导致实际存储分配的描述。这里可以有: 包含标准库头文件和其他头文件的预处理命令; 各种公用宏定义(多个程序文件都使用的公共东西,尽量少用宏定义); 各种公共的类型定义;结构、联合、枚举的说明(仅仅是说明); 函数原型说明; 变量的外部说明; 只用文件包含命令(#include)包含头文件,而不用它包含程序文件。 物理组织的合理原则 通过头文件解决在一个程序文件里定义而在另一个程序文件里使用的信息传递问题。 首先把与此有关的函数的完整原型、外部变量的完整外部说明写在某个头文件里。 对于所有定义和使用这些函数或变量的程序文件,令它们都包含这同一个头文件。通过这种方式保证使用和定义之间的联系,保证编译程序能进行一致性检查。 这里的原则仍然是,让定义和使用同一个程序对象(变量、函数、类型等等)的地方,都能看到同一个说明。 程序物理组织的具体考虑 程序组织的第一步是估计程序的大小,根据这个估计考虑源文件应划分为几块。在程序开发过程中,这种初始划分也可能需要调整。 考虑把程序所需的功能划分为若干部分,每部分中定义的东西互相之间应有较密切的逻辑联系,如提供类似功能,完成同类的工作,相互之间调用关系密切等。这样形成一种整体性,可以考虑放在一起建立一个程序文件。例如,输入输出 对于全局变量,应根据谁用谁管的归属原则,分别在不同的源文件里定义。程序中公共的全局变量(许多地方都要用的那些变量)一般在主程序文件里定义。 集成开发环境中的程序组织和开发 项目:一个项目就是一个(待)开发的程序,它通常由若干源程序文件和若干头文件实现。 创建一个项目一般过程是: 建立一个项目(文件),这个文件就代表了待开发的程序。 选择程序类型,例如控制台应用程序(console application),具有图形用户界面的应用程序等 将所需的 C 源程序文件加入这一项目中(许多 IDE 提供了专门命令或者其他方式) IDE通常提供的程序加工命令 编译(compile):编译命令通常只针对 IDE 里的当前源程序文件 连接(link):工作对象是整个项目,将属于这个项目的目标文件连为一体,形成一个完整的可执行程序文件 构造(make、build):这是 IDE 中最重要功能,其工作目标就是创建出一个最新版本的可执行程序 全部重做(rebuild all):重新编译属于本项目的所有源程序文件,最后连接所得到的目标文件,生成新的可执行程序 功能模块和程序库 如果某些程序文件的功能需要经常被用到,可以建立(函数、类)库 建立库的方法: 为需要在一些程序里使用的功能建立一个源程序文件和一个与之对应的头文件; 在源程序文件里实现所需的功能,包括:定义提供给外面使用的函数,为实现这些函数可能需要的辅助函数,为实现有关功能可能需要定义的一些外部变量; 在对应头文件里给出有关类型定义和提供给外部使用的函数原型,或许还包括一些全局的变量说明(外部说明) 当某个程序里需要使用这种功能时,只需在相应文件前部包含这个头文件,并将上述源程序文件作为本项目的源文件 保护头文件 程序的初始化 交互式初始化 让程序从标准输入获得信息,用户在程序启动后通过键盘输入指挥它 程序的初始化 通过命令行参数 采用命令行参数为功能参量提供值 采用初始化文件 专门设计一个初始化文件,将设
文档评论(0)