三内存管应用程序设计.ppt

三内存管应用程序设计

主讲老师:刘志强 三、 内存管理应用程序设计 内存管理的相关概念 内存数据空间的动态分配 内存代码空间的动态分配 1.内存管理 主要任务 对内存储器进行分配、变换、保护和扩充,存储管理还应该能够在内存和外存之间交换数据和代码。 在Windows操作系统下,存储器被保护起来,程序和用户无法直接访问,需要在程序中通过静态和动态两种方式来访问。 Windows的内存管理完成物理内存和虚拟内存之间的交换,虚拟内存是32位的,多达4GB的大小,内存管理还提供了一个核心服务,完成内存映射文件、写时复制内存和用户程序使用的大量和稀疏内存的管理。 两种使用内存的基本方法 静态方法 数组,例如 Student student[501] 动态方法 指针,例如 Student *student=new Student[count+1] Windows NT 内存管理 Windows可以管理4GB大小的空间;操作系统使用其中2GB空间,每个用户进程可以使用2GB的专用地址空间。 Win32 API提供: VirtualXXX形式的以页为单位的虚拟内存函数; CreateMapFile、MapViewofFile内存映射文件函数; HeapXXX堆栈函数。 内存管理 Windows NT在X86体系下虚拟地址空间的分布: 例3-6 动态申请虚拟内存 整数阶乘计算到13就会出错。怎么办? 使用

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档