用于非常大的10G缓冲区的C++ FIFO实现

4
我需要实现一个10G的环形缓冲区(FIFO)。由于需要与C++ API集成,我需要用C++编写此程序,尽管我认为使用Java的FileChannel类更容易。我知道我需要使用内存映射文件,但不确定如何在C++中实现。我想我需要使用缓冲区,并为底层文件的不同部分重新映射它?类似这样的方式。无论如何,如果有人有一些示例代码(非MFC),那就太好了。
我将在运行Windows 7 32位的32位硬件上实现此功能。
谢谢。

您是否考虑使用JNI来连接Java和C++呢? - Michael Anderson
1个回答

2

在Windows和UNIX上创建内存映射文件的一种方法是使用Boost C++库,详情请参见此处。该代码可在大多数32位平台上处理大文件(>4 GB),请参见此处


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接