首页 > 代码库 > 开辟和映射虚拟内存块在不同位数不同操作系统的问题
开辟和映射虚拟内存块在不同位数不同操作系统的问题
一、开辟内存执行的方法流程
1.CreateFileMapping 创建一个内存块,指定大小。
2.OpenFileMapping打开一个已经存在的内存块做映射。
3.MapViewOfFile 获得内存块数据的头指针,需要制定大小。
二、操作系统:Windows 7 旗舰版, 32-bit
在不同的进程A和B,A开辟的内存块(名称为VM1)大小为1M,
B映射已经存在的内存块(名称为VM1)的大小可以设置大于1M,不会报错。
三、操作系统:Windows 8 Enterprise Edition (Build 9200), 64-bit
在不同的进程A和B,A开辟的内存块(名称为VM1)大小为1M,
B映射已经存在的内存块(名称为VM1)的大小可以设置大于1M,会报错。
“尝试读取或写入受保护的内存。这通常指示其他内存已损坏。”
解决的办法:就是开辟和映射的大小设置为一样。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。