我正在实现一个数据缓冲区,它从一个应用程序接收带有过程调用的音频数据包(没有网络协议,只有两个应用程序在同一台机器上运行),并将其放入 Struct 并写入映射文件。
所以编写器应用程序可能会调用我的应用程序的程序,这将是void writeData (DataItem data, Timestamp ts)
每秒大约 15 次,每个数据项大小为 2MB。
我的应用程序应将数据存储到类似的结构中
Struct DataItem
{
long id;
... Data;
Time insertTime;
}
并将其写入文件以供将来阅读。
因此,由于很难将结构按原样保存到文件中,因此我认为(?)我需要将其编写为二进制文件。所以我不确定我是否需要使用任何类型的序列化boost serialization
?
而且我不知道如何为内存映射文件对齐这些数据,以及如何重新构造数据以从文件中读取。
我在互联网上搜索,但找不到太多代码示例。示例代码将非常受欢迎。
顺便说一句,我使用的是嵌入式 Windows 7 x64 和 Visual Studio 2008。
谢谢...