32位程序是否可以通过共享内存访问超过4G的内存空间?

蓝色光芒 2013-10-30 10:32:24
操作系统Win 64位,内存16G
以下程序均为32位程序。
程序A,运行时共享1G内存,共享名称按照序号递增, 把程序A运行10次,得到10个共享内存区,10*1G=10G

程序B,是否可以通过循环访问(打开->使用->释放)这10G的数据?

暂无该环境,无法试验.
...全文
379 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
蓝色光芒 2013-11-16
  • 打赏
  • 举报
回复
已经实测,能通过分次影射的方式访问所有10G(甚至更大)共享的内存,不能同时访问超过1.5G(通常情况下)内存,没试过AWE
蓝色光芒 2013-10-30
  • 打赏
  • 举报
回复
多谢1#大版和3#许文君 单个文件1G左右,有10个左右的文件,由于其它原因不方便作文件合并. 还有个特殊情况,使用这些文件(只读)的进程有2个或者3个,因此才想到共享内存的. 照理说直接64位程序就行了的,突然想试试这样是什么结果.
oyljerry 2013-10-30
  • 打赏
  • 举报
回复
打开10块共享内存,然后B来访问,应该可以,只要你控制好共享内存的生命期等
许文君 2013-10-30
  • 打赏
  • 举报
回复
首先问下LZ是做什么用?本质上内存映射加文件分割已经可以处理大文件,按你这种思路内存共享其实也仍然是分块处理,若不需要几个共同存在的话,理论上应该可行,但具体实际还真不好说行不行,只能是LZ自己实验下。大版所说的AWE只是通过36根总线使之支持访问最大64G的内存地址。
蓝色光芒 2013-10-30
  • 打赏
  • 举报
回复
就当是无聊研究一下
Eleven 2013-10-30
  • 打赏
  • 举报
回复
AWE~~~
踏实每一步 2013-10-30
  • 打赏
  • 举报
回复
应该不能,超过4G,怎么寻址?
  • 打赏
  • 举报
回复
不能使用大内存关键问题在于地址不够用了,不是内存不够用了。 分次映射读取是没有问题的

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧