如何一次加载4GB以上的内存缓冲区?

问题描述 投票:-3回答:1

如何一次将超过4GB的文件加载到内存缓冲区中(=使用单个WinAPI调用)? WinAPI ReadFile方法最多只支持4294967295个字节。

注意:只是为了在网络搜索中偶然发现这个问题的人说清楚:这通常是一个非常糟糕的主意。我们已经考虑过一个非常特殊的场景,但没有采用它。我们仍然感兴趣,在理论层面上,如果它是可能的以及如何。

winapi readfile
1个回答
1
投票

单击一次Win32 API函数就无法做到这一点。多次调用ReadFile,读取大小不超过4GB的块,直到读完所有需要读取的内容为止。

如果它有助于您进行单个函数调用,请将此循环包装在您定义的函数中,并调用它。

© www.soinside.com 2019 - 2024. All rights reserved.