如果您有一个被描述为 C 结构的二进制文件格式(或数据包格式),是否有任何程序可以解析该结构并将其转换为您的协议的整洁文档?
该结构当然会包含数组、其他结构等,这是描述格式所必需的。文档可能需要包括打包、字节顺序等内容。
如果您有一个被描述为 C 结构的二进制文件格式(或数据包格式),是否有任何程序可以解析该结构并将其转换为您的协议的整洁文档?
该结构当然会包含数组、其他结构等,这是描述格式所必需的。文档可能需要包括打包、字节顺序等内容。
也许你应该换一种方式思考这个问题。
“我可以为我的数据包创建一个文档格式,我可以为其生成一个 C 结构吗?”
例如,考虑使用 XML 来定义数据包结构并添加注释元素等。编写一个将其转换为实际 C 结构的简单程序将相当容易
Doxygen是一种常用的文档生成器。但是,如果您想获得有用的文档,您可能必须使用文档注释标记您的结构定义。
如果你知道 perl,你可以尝试玩 Jeeves:
https://www.rodhughes.com/perl/advprog/examples/Jeeves/
(这个来源就在那里;我认为它可以使用。;))
我正在尝试解决类似于您需要的东西:结构化二进制数据的解析器。我期待 Jeeves 从元格式输出 C++ 中的解析类。Jeeves 的默认解析器允许为类定义的每个成员添加额外的标签。这将让您在类中的注释中自动包含有关字节顺序、对齐方式等的信息(当然,在您的代码中实现它们)。