在我的应用程序中,我创建了一个文件并将其与初始大小进行内存映射。如果我对该文件应用第二个内存映射,并使用更大的大小,则文件会扩展到新的大小。Windows允许我这样做而不出错,但我不知道是否真的合法。第二个具有较大大小的内存映射是否存在问题?
在我的应用程序中,我创建了一个文件并将其与初始大小进行内存映射。如果我对该文件应用第二个内存映射,并使用更大的大小,则文件会扩展到新的大小。Windows允许我这样做而不出错,但我不知道是否真的合法。第二个具有较大大小的内存映射是否存在问题?
CreateFileMapping文档中提到:
创建文件映射对象后,文件的大小不能超过文件映射对象的大小;如果超过了,就无法共享所有的文件内容。
这似乎意味着(因为没有提到其他副作用或禁止),使用更大的大小再次映射文件的唯一副作用是第一个映射将无法查看整个文件(显然)。