如果我需要将一个大文件从分配的内存写入磁盘,最有效的方法是什么?
目前,我使用以下内容:
char* data = static_cast<char*>(operator new(0xF00000000)); // 60 GB
// Do something to fill `data` with data
std::ofstream("output.raw", std::ios::binary).
write(data, 0xF00000000);
但我不确定最直接的方法是否也是最有效的,考虑到各种缓冲机制等。
我正在使用带有 64 位目标的 Windows 7 64 位和 Visual Studio 2012 RC 编译器。