当前位置:  开发笔记 > 编程语言 > 正文

序列化要由Java等反序列化的C结构的最佳方法

如何解决《序列化要由Java等反序列化的C结构的最佳方法》经验,为你挑选了0个好方法。

目前,我正在使用fread()/ fwrite()将C/C++结构中的一些数据保存并加载到文件中.在这个C应用程序中工作时这很好用(我可以在结构更改时重新编译以更新fread()/ fwrite()的sizeof()参数,但是如何在不事先知道的情况下将此文件加载到其他程序中C结构的sizeof()?

特别是,我编写了这个其他Java应用程序,可视化该C struct二进制文件中包含的数据,但我想了解如何读取该二进制文件的一般解决方案.(而不是每当C结构发生变化时,我都必须在Java应用程序源中手动输入sizeof();)

我想序列化的文本或某种形式的XML的,但我不知道从哪里开始与(如何在C序列化,然后如何在Java的反序列化和未来可能的其他语言),如果该建议在这些地方结构的一个成员是一个int数组,可以去向上以二进制格式〜50 MB(我有数百个这样的数据文件的读取和写入).

C结构很简单(没有严格的嵌套或指针引用),如下所示:

struct MyStructure {
    char *title;
    int id;
    int param1;
    int param2;
    float *data;
}

最容易改变的部分是param整数.

我有什么选择?

推荐阅读
保佑欣疼你的芯疼
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有