使用更大的尺寸重新进行内存映射文件是否合适?

5

在我的应用程序中,我创建了一个文件并将其与初始大小进行内存映射。如果我对该文件应用第二个内存映射,并使用更大的大小,则文件会扩展到新的大小。Windows允许我这样做而不出错,但我不知道是否真的合法。第二个具有较大大小的内存映射是否存在问题?


你的问题是同一块内存在单个进程中映射两次是否有问题,还是你担心其他什么? - zch
问题是是否可以有一个比第一个映射更大的第二个映射。我会澄清这个问题。 - djcouchycouch
13
不,我认为拉比不会批准。 - Mark Ransom
2
@MarkRansom,说的是“不分语言”的观点。 ;) - Prof. Falken
1个回答

1

CreateFileMapping文档中提到:

创建文件映射对象后,文件的大小不能超过文件映射对象的大小;如果超过了,就无法共享所有的文件内容。

这似乎意味着(因为没有提到其他副作用或禁止),使用更大的大小再次映射文件的唯一副作用是第一个映射将无法查看整个文件(显然)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接