
windows内存相关
Barry__
勿在浮沙筑高台
展开
-
使用windows内存-VirtualAlloc
内存管理机制--虚拟内存 (VM)· 虚拟内存使用场合虚拟内存最适合用来管理大型对象或数据结构。比如说,电子表格程序,有很多单元格,但是也许大多数的单元格是没有数据的,用不着分配空间。也许,你会想到用动态链表,但是访问又没有数组快。定义二维数组,就会浪费很多空间。它的优点是同时具有数组的快速和链表的小空间的优点。 · 分配虚拟内存原创 2016-01-02 21:34:13 · 16518 阅读 · 1 评论 -
C程序内存布局
一个程序本质上都是由 BSS段、data段、text段三个组成的。这样的概念在当前的计算机程序设计中是很重要的一个基本概念,而且在嵌入式系统的设计中也非常重要,牵涉到嵌入式系统运行时的内存大小分配,存储单元占用空间大小的问题。· BSS段:在采用段式内存管理的架构中,BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文Block转载 2016-01-03 18:00:43 · 484 阅读 · 0 评论 -
使用windows内存-堆内存
1 堆内存的特点 一般分配小数据内存,一般小于1M数据使用堆内存分配。 一般程序执行后,会有一个默认堆,这个堆的大小一般为1M,由系统维护,程序员无法销毁默认堆。还有一个CRT堆,malloc和new就是在CRT堆分配内存,一个程序可以多个堆。通过堆内存管理器来管理堆中的内存。可以使用HeapCreate创建自定义堆。内存分配速度比VirtualAlloc慢。 New和原创 2016-01-03 18:06:10 · 1313 阅读 · 0 评论 -
使用windows内存-内存映射文件
内存映射文件和虚拟内存一样,内存映射文件可以用来保留一个进程地址区域;但是,与虚拟内存不同,它提交的不是物理内存或是虚拟页文件,而是硬盘上的文件。将文件映射成内存,我们可以像使用内存一样使用文件. 使用场合它有三个主要用途:系统加载EXE和DLL文件操作系统就是用它来加载exe和dll文件建立进程,运行exe。这样可以节省页文件和启动时间。访问原创 2016-01-03 19:19:56 · 2698 阅读 · 0 评论 -
windows内存管理
Windows的内存管理一 地址空间 1 地址空间 一个程序最大的寻址范围,是一块虚拟的存储空间。对于Win32操作系统最大的寻址范围是2的32次方,0-0xFFFFFFFF(4G)。这个寻址范围由CPU决定。CPU的寻址范围越大, 编写程序难度越低。 2 地址空间的划分 通常情况下:一个程序的地址空间分为用户空间和内核空间原创 2015-12-27 18:33:16 · 837 阅读 · 0 评论 -
windows系统信息,内存状态,区域信息的查询
//系统信息 SYSTEM_INFO sysInfo; GetSystemInfo(&sysInfo); cout<<"机器属性:"<<endl; cout<<"页大小="<<sysInfo.dwPageSize<<endl; cout<<"分配粒度="<<sysInfo.dwAllocationGranularity<<endl; cout<<"用户区最小值="<<sysInfo.原创 2015-12-29 16:11:34 · 1299 阅读 · 0 评论