我需要实现一个10G环形缓冲区(FIFO)。 我需要用C ++编写这个程序进行集成(不得不与C ++ API集成),尽pipe我认为在Java中使用它的FileChannel类会更容易。 我知道我需要使用内存映射文件,只是不知道如何在C ++中做到这一点。 我想我将不得不使用一个缓冲区,并重新映射底层文件的不同部分? 就是这样 无论如何,如果任何人有一些示例代码(非MFC),这将是伟大的。
我将在运行Windows 7 32位的32位硬件上实现这一点。
谢谢。
创建内存映射文件的一种方法是在Windows和UNIX上运行,使用Boost C ++库,参见这里 。 此代码在大多数32位平台上处理大文件(> 4 GB); 看到这里 。