- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
重庆科技学院
《高级系统程序设计》大作业
专业班级:
学 号:
姓 名:
成 绩:
摘 要
在windows API中,有自己独特的I/O操作,与C/C++中的I/O操作有何种区别;并且windows中的内核对象是怎样定义的,具体是怎样操作。Windows有自己的内存架构,根据特定的要求有不同的管理内存方法,其中堆适合大量的小对象,然而内存映射文件适合大文件,各自具有不同的特性。
关键字:I/O 内核对象 堆 内存映射文件
目 录
Ⅰ公共部分 1
1.1请综合比较C/C++中I/O的使用方法与本课程程序实践中所采用的I/O方法各自的特点,并请举例分析说明? 1
1.1.1 C/C++ I/O 1
1.1.2Windows I/O 2
1.1.3总体区别 3
1.2基本请结合具体的例子解释什么是内核对象,对内核对象的操作与之前学习的对指针的操作方法有什么本质的区别? 3
1.2.1windows中的内核对象 3
1.2.2内核对象与指针的区别 4
Ⅱ选题部分 5
2.1windows内存管理构架 5
2.2内存映射文件 5
2.2.1怎样使用内存映射文件 5
2.2.2内存映射文件的使用特点 6
2.3堆 9
2.3.1使用堆 9
2.3.2堆的使用特点 10
3.总结 12
参考文献 13
致谢 14
Ⅰ公共部分
1.1请综合比较C/C++中I/O的使用方法与本课程程序实践中所采用的I/O方法各自的特点,并请举例分析说明?
1.1.1 C/C++ I/O
1)用标准库,通过调用函数实现标准输入,输出
C/C++的输入/输出由标准库提供。标准库定义了一族类型,支持对文件和控制窗口等设备的读写。
在C语言中,标准库stdio.h提供了两个控制台格式化输入、?输出函数printf(?)?和??
scanf(),?这两个函数可以在标准输入输出设备上以各种不同的格式读写数据。??
printf()函数用来向标准输出设备(屏幕)写数据,具体格式为printf(格式化字符串,?参量表);?scanf()?函数用来从标准输入?,具体格式为:scanf(格式化字符串,?地址表);?
例如:
输入:printf(”hahahahaha\n”);
输出:scanf(“%d”,a);
在C++中,I/O流是一系列写到屏幕上或从键盘上读出的字节序列。将I/O流定义为类,执行标准的输入输出操作时,一般使用I/O流cin作为输入,cout作为输出。在ios.h、iostream.h、istream.h、ostream.h以及streamb.h中可以找到I/O流的定义。iostream.h中定义了如下四个对象:cin键盘输入(stdin)、cout屏幕输出(stdout)、cerr标准错误设备输出(stderr)、clog标准错误缓冲输出(stderr)。
例如:
cinname;
cout”Helllo World!”;
cerr”Error!”;
clog”Error Log!”
2)用标准库,进行文件的读写操作
在C语言中,打开文件的操作通过标准库函数fopen 完成,它返回一个FILE指针值,赋给一个FILE类型的指针变量,通过指针对文件进行操作;fopen的函数原型,FILE *fopen(const char *filename,const char *mode);关闭文件通过fclose完成,其原型为 int fclose(FILE *stream);
例如:以读的方式打开文件fname
FILE *Fp;
Fp=fopen(fname,”r”);
Fclose(Fp);
对于对文件的输入输出,分为字符的输入输出、格式化输入输出、行式输入输出。
在C++中,提供了对磁盘文件进行读写,并且使用一个与输入文件相关的变量来代替cin,使用一个与输出文件相关的变量来代替cout。进行文件操作必须包含头文件分stream。
也就是定义一个ifstream类型变量来读文件,定义一个ofstream类型变量来写文件,操作完后关闭文件。
例如:C++中要打开一个文件
ifstream infile;
ofstream outfile;
infile.open(“file”);//打开文件
outfile.open(“file”);
infile.close();//关闭文件
outfile.close();
1.1.2Windows I/O
在windows中,把文件和所有其他的输
文档评论(0)