Windows核心编程:在应用程序中使用虚拟内存

Windows核心编程:在应用程序中使用虚拟内存
    Microsoft Windows提供以下三种机制来对内存进行操控:
  • 虚拟内存 :最适合用来管理大型对象数组或大型结构数组。
  • 内存映射文件 :最适合用来管理大型数据流(通常是文件),以及在同一机器上运行的多个进程之间共享数据。
  • :最适合用来管理大量的小型对象。   

   以下将讨论第一种方式,即虚拟内存。
1.预定地址空间区域
    我们可以调用VirtualAlloc函数来预订进程中的地址空间区域:
    PVOID VirtualAlloc(
        PVOID pvAddress,
        SIZE_T dwSize,
        DWORD fdwAllocationType,
        DWORD fdwProtect);

    第一个参数 pvAddress 是内存地址,用来告诉系统我们想要预定地址空间中的哪一块。由于系统会记录所有闲置的地址区间,因此大多数时候我们只要给该参数传NULL就可以了。这等于是告诉系统自动找一块闲置区域。记住:这里的内存地址指的是进程的地址空间中的用户模式地址空间。
    第二个参数 dwSize 用来指定我们想要预定的区域大小,以字节为单位。系统始终都根据CPU页面大小的整数倍来预订区域,如我们预定5KB的空间,那么最终得到的会是8KB(两个页面2*4KB)。
     第三个参数
fdwAllocationType ,用来告诉系统是要预定区域还是要调拨物理存储器(因为调拨物理存储器也是用的VirtualAlloc函数,MEM_RESERVE:预定地址空间区域,MEM_COMMIT:调拨物理存储器,MEM_TOP_DOWN:指定从尽可能高的内存地址来预订区域)。
    第四个参数 fdwProtect 是给区域指定的保护属性。区域的保护属性对调拨给该区域的物理存储器不起任何作用。无论为区域指定什么保护属性,只要还没有给它调拨物理存储器,试图访问区域内的任何内存地址都会引发访问违规。
     当区域的保护属性和将要调拨的物理存储器的保护属性相一致时,系统内部的处理效率会更高。

表1:内存页面保护属性
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Windows应用程序捆绑核心编程是指开发人员使用Windows应用程序捆绑工具,将应用程序打包成一个独立的软件安装包,包含应用程序的所有核心组件和相关资源。 首先,开发人员需要了解捆绑应用程序的目的。捆绑应用程序可以简化应用程序的分发和安装过程。它可以将所有的依赖项和资源打包到一个安装包,使得安装过程更加简单和方便。这有助于提高用户的体验,并降低用户因为缺少依赖项而无法使用应用程序的概率。 其次,开发人员需要通过使用Windows应用程序捆绑工具来创建软件安装包。该工具提供了一个直观的界面,使开发人员能够选择要包含在应用程序安装包的文件和组件。开发人员可以将所有必要文件添加到安装包,并设置正确的安装路径和文件关联。此外,还可以自定义安装过程的交互界面和选项。 最后,开发人员需要测试和验证捆绑应用程序。在开发过程,开发人员应该确保应用程序能够正常运行,并且在不同的Windows版本和环境下都能够正确安装和使用。开发人员还应该测试应用程序性能和稳定性,并解决任何潜在的问题。 总之,Windows应用程序捆绑核心编程是一种方便的方式来打包和分发应用程序。它可以简化安装过程,提高用户的体验,并确保应用程序能够在各种Windows环境下正常运行。开发人员只需了解捆绑工具的使用方法,选择正确的文件和组件,并进行适当的测试和验证,就可以成功地进行应用程序的捆绑核心编程

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值