在Delphi程序中,我有一个包含4,000,000,001个红衣主教的动态数组.我正在尝试写(后来读)它做了一个驱动器.我使用了以下内容:
const Billion = 1000000000;
stream := tFileStream.Create( 'f:\data\BigList.data', fmCreate);
stream.WriteBuffer( Pointer( BigArray)^, (4 * billion + 1) * SizeOf( cardinal));
stream.free;
Run Code Online (Sandbox Code Playgroud)
它轰炸了:...引发异常类EWriteError,消息'Stream write error'.
它写的文件大小只有3,042,089KB.
难道我做错了什么?一次可写的大小是否有限制(约3GB)?