欢迎来到天天文库
浏览记录
ID:41037415
大小:53.50 KB
页数:8页
时间:2019-08-14
《windows编程重点》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、1、Win32和Win64之间的本质差异是指针变量的大小以及虚拟地址空间的大小。2、Windows支持四种文件系统(简答)(1)NT文件系统NTFS,是一个现代的文件系统。(只有NT系统支持安全性)(2)文件分配表FAT和FAT32,FAT文件系统是软盘和Windows9x硬盘上唯一支持的文件系统(3)CD-ROM文件系统CDFS,主要用于访问CD-ROM上的信息。(4)通用磁盘格式UDF,支持DVD驱动器3、目录和文件名称不区分大小写,但是可以保留大小写例:创建文件使用MyFile,它会一直保留,但通
2、过myFILE也可以访问4、C的main函数及其参数列表(argv[]),应该被宏_tmain所替代,_tmain在中定义5、一个进程一次只能有一个控制台。6、目录管理函数:CreateDirectory功能:创建目录函数:RemoveDirectory功能:删除目录函数:SetCurrentDirectory功能:获取或设置当前目录函数:GetCurrentDirectory功能:返回绝对路径名称到程序员提供的缓冲中7、文件属性和目录处理函数:FindFirstFile功能:获取查找
3、句柄函数:FindNextFile功能:获取指定文件函数:FindClose功能:终止查找注:查找完成后,关闭查找句柄,不要使用CloseHandle,使用CloseHandle关闭查找句柄会引起异常。8、FindFirstFile和FindNextFile函数可以获取以下文件属性信息:属性标记、三个时间戳和文件大小。9、(简答)C库的优点?(1)代码可以移植到非Windows平台。(2)便捷的面向行和字符的函数,而Windows中没有相对应的函数来简化字符串处理。(3)C库函数通常比Windows函数
4、更易于使用。(4)面向行和流字符的函数易于改变以进行普通调用,尽管失去了可移植性特征(5)C库可以在多线程环境下运行C库的限制或缺点?(1)C库不能管理或者遍历目录,也不能获取或设置大多数文件属性(2)C库在fseek函数中使用32位的文件位置,所以在顺序读取巨大文件的同时,却不能定位巨大文件的任何地方(3)C库中没有高级特性,比如文件安全性、文件锁、进程间通信等。10、文件锁定文件锁可以是只读(共享)或读写(专有)。最重要的是锁属于进程。文件锁是并发线程和进程间同步的有限形式。使用文件锁应该考虑的因素
5、:(简答)(1)解锁应该同前面锁定使用完全相同的范围(2)锁不能跟文件现有的锁重叠,否则会产生冲突(3)锁可以超出文件的长度范围(4)锁不能被新创建的进程所继承11、注册表注册表是关于程序和系统配置信息的集中的、分层的数据库。对注册表的访问是通过注册表关键字来实现的。用户和管理员可以通过REGEDIT命令打开注册表编辑器以查看和编辑注册表内容,程序可以通过注册表API函数来管理注册表。12、异常处理SHE:Windows的结构化异常处理P68图4-1SEH、代码段和函数P71图4-2异常的处理顺序1(1
6、)异常发生(2)控制权交给异常处理器,此时过滤表达式被赋值。GetExceptionCode首先调用,而它的返回值是函数Filter的参数(3)过滤函数根据异常代码值来决定它所采取的行动(4)这里的异常代码是EXCEPTION_DIVIDE_BY_ZERO(5)过滤函数决定异常处理器应该被执行,因此返回值是EXCEPTION_EXECUTE_HANDLER(6)异常处理器是跟_except语句有关的代码,它被执行(7)控制权离开try-except程序块在try-finally语句中使用__finall
7、y关键字来构建终止处理器。13、Windows提供了管理程序动态内存的灵活机制.Windows同时也提供内存映射文件把进程地址空间跟文件直接关联,允许操作系统管理在文件和内存之间的所有数据移动,从而程序员不需要处理ReadFile、WriteFile、SetFilePointer或者其他文件I/O函数。动态链接库(DLL)是文件映射和共享内存的特例,此时文件被映射到进程地址空间执行。14、Windows以堆的方式来维护内存池。一个进程可以包含多个堆,可以从这些堆中分配内存。堆是Windows对象。因此它
8、们具有句柄。当分配内存时堆句柄是必需的。每个进程具有自己的缺省堆,它被malloc使用,而下一个函数获得句柄。15、一个程序可以创建不同的堆。对于不同的数据结构,使用不同的堆来分配有时是很方便的。使用不同堆的优点?(简答)(1)公平(2)提高了多线程性能(3)分配效率高(4)解除分配效率高(5)引用局部化的效率高注:堆没有安全属性,因为它们在进程之外是不可访问的。16、删除堆会释放页面调度文件的虚拟内存空间和物理存储。因此,良好设计的程序应
此文档下载收益归作者所有