首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >表示命令包格式的数据结构

表示命令包格式的数据结构
EN

Stack Overflow用户
提问于 2019-05-12 23:40:29
回答 1查看 162关注 0票数 2

我的目的是构建一个配置文件。因此,我基本上必须以某种方式表示命令包结构。

当实际数据(二进制)到来时,我想将数据包与此配置文件进行比较,然后进行处理(将数据转换为CSV格式)。

所以有不同的命令类型。

因此,每次当数据包到来时,我必须获取它的操作码,并用配置文件检查它,然后返回代表该数据包格式的适当命令格式。

命令格式可能如下所示:

操作码-1字节-整数

命令-4字节-字符串

..。

所有命令都不具有相同数量的字段或相同格式。

我想检索所有这些详细信息。我可以用XML表示它,并使用像libxml2这样的库来解析它。

下面给出了一个示例XML格式:

代码语言:javascript
运行
复制
 <cmd type="Multiplication">
    <field name="opcode" type="string" bytes="4"/>
    <field name="Multiplicand" type="number" bytes="2"/>
    <field name="Multiplier" type="number" bytes="2"/>
 </cmd>

但这种方法相当缓慢。

我的想法是以某种方式在结构中表示命令包格式。但由于C/C++不是一种反射语言,结构成员是未知的,您需要为每个结构(命令)提供一个函数来解析它。

请建议一些存储格式的方法,以便一个通用函数只需查看此格式即可解析二进制数据。

  • 语言可以是C或C++。
  • 的性能是最重要的,所以不鼓励使用XML和类似的类型。最好使用内存数据结构中的

任何帮助都是非常感谢的。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56100825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档