高级系统大作业分解.doc

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
重庆科技学院 《高级系统程序设计》大作业 专业班级: 学 号: 姓 名: 成 绩: . 目录 公共部分 2 1请综合比较C/C++中I/O的使用方法与本课程程序实践中所采用的I/O方法各自的特点,并请举例分析说明? 2 1.1.C/C++ I/O 2 1.2.Windows I/O 2 2请结合具体的例子解释什么是内核对象,对内核对象的操纵与之前学习的对指针的操作方法有什么本质的区别? 2 2.1.内核对象 2 2.2.句柄与指针的区别 2 选题部分 2 题目一:综合比较Windows内存管理中内存映射文件和堆2钟方法各自的特点,写出你的详细分析结论并请编程举例说明,必须在大作业中给出你的每个程序的设计思考过程和关键程序代码段,完整的源程序可在附录中给出。 2 3.1.堆 2 3.1.1.创建堆 2 3.1.2. 从堆中分配内存块 2 3.1.3再分配内存块 2 3.1.4 释放堆内存、撤消堆 2 3.2.内存文件映射 2 3.2.1创建或打开文件内核对象 2 3.2.2.创建一个文件映射内核对象 2 3.2.3.将文件数据映射到进程的地址空间 2 3.2.4从进程的地址空间中撤消文件数据的映象 2 3.2.5关闭文件映射对象和文件对象 2 公共部分 I/O是input/output的缩写,即输入输出端口。每个设备都会有一个专用的I/O地址,用来处理自己的输入输出信息。 1.1.C/C++ I/O 简明与可读性 从直观上来看,C++的这种改变使得I/O 语句更为简明,增加了可读性。用I/O运算符(提取运算符和插入运算符)代替不同的输入输出函数名(如printf,scanf 等)是一个大的改进。如: printf(n=%d,a=%f\n,n,a); coutn=n,a=aendl; (2) 类型安全(type safe) 所谓类型安全,是指在进行I/O 操作时不应对于参加输入输出的数据在类型上发生不应有的变化。如: show(int color,float size){ coutcolor=color,size=sizeendl; } 在这个函数的调用过程中,系统(编译器)将自动按参数的类型定义检查实参的表达式,显示的结果中,第一个自然是整数值,第二个size 必然是浮点类型值。如果采用printf()函数,由于其参数中的数据类型必须由程序员以参数格式%d,%f,%c,%s 的形式给出,同样实现上述函数show(),就可能产生编译器无法解决的问题: show(int color,float size){ printf(color=%f,size=%d\n,color,size); } 在确认输出数据类型时发生错误是可能的,这时输出数据的类型:color 是int 型,size 是float 型,与printf()中给出的参 数格式符%f 对应color,%d 对应于size,两者发生了矛盾。因此说,它是类型不安全的。而C++的I/O系统不会出现这种情形。 (3) 易于扩充 在 C++语言所附的I/O 系统,在其流类的定义中,把原来C++语言中的左、右移位运算符和,通过运算符重载的方法,定义为插入(输出)和提取(输入)运算符。这就为输入输出功能对于各种用户定义的类型数据的扩充,创造了方便的条件。 而在stdio.h 文件中说明的 printf()函数却很难做到这一点。例如在C++语言提供的I/O 系统中,它是把运算符‘’的重载函数作为输出流类 ostream 的成员函数来定义的,分别对字符串char,short,int,long,float,double,const void *(指 针)等类型作了说明。在此基础上,难对于新的类型数据的输出来重载运算符‘’。它可以作为用户定义的类型 (4)C/C++文件和流I/O各自操作特点 文件分为文本文件(ASCII文件)和二进制文件,文件只与信息的输入输出相关,而且这种输入输出是串行序列形式的,所有把文件的概念抽象为“流”(stream)。 C语言基于流式文件操作,FILE在头文件stdio.h中定义。 常见的FILE文件结构操作函数:fopen() 打开流, fclose() 关闭流, fputc() 写一个字符到流中, fgetc() 从流中读一个字符, fseek() 在流中定位到指定的字符, fputs() 写字符串到流 ,fgets() 从流中读一行或指定个字符, fprintf() 按格式输出到流 ,fscanf() 从流中按格式读取 ,feof() 到达文件尾时返回真

文档评论(0)

金不换 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档