用C++直接从文件读取数据到RAM

Col*_*mbo 2 c++ ram file ram-scraping

有没有办法直接将二进制文件读入RAM?

我的意思是,有没有办法告诉编译器,这里是文件,这里是RAM的块,请把文件内容放在RAM中,关闭你,快速,你可以请.

目前我正逐步使用ifstream将其加载到64位块的RAM(数组)64位块中.但是我认为这必须放慢速度,因为它就像(这里是一个类比)使用顶针将水从杯子(文件)中舀出来放入水壶(RAM)而不是仅仅拿起杯子和将所有内容一次性倒入水壶中.

作为一个相对较新的人,我可能对此有完全错误的想法 - 任何指导都将是一个很大的帮助.

我只是采用最快的方式将大文件放入RAM.

谢谢

Edo*_* A. 11

什么阻止你一次性读取文件?是否太大而无法记忆?

您还可以使用映射文件,UNIX:mmap,Windows:CreateFileMapping


osc*_*kuo 6

我认为你需要的是内存映射文件,但是API依赖于你所使用的操作系统,在UNIX中我认为它是mmap().