[英]C++ equivalent of Python's “construct” library
我正在寻找一个等效于Python的库“ construct”,也许有人已经移植了它。
Construct是一个强大的二进制数据声明式解析器。
它基于以声明性方式而不是过程代码定义数据结构的概念:简单的结构可以分层组合以形成越来越复杂的数据结构。 这是第一个使解析变得有趣的库,而不是如今的常见问题。
对于Java,这是类似的问题。 Java等同于Python的“构造”库
谢谢。
您可能对看一下协议缓冲区感兴趣。 该库使您可以使用可编译为C ++,Java或python的中间语言编写数据描述。
作为参考,OP正在谈论这个称为Construct的库。 该库允许您构建可以解析和重建原始二进制数据流的解析器/构造函数。 “ Construct是一个功能强大的声明性和对称解析器,并且是二进制数据的构建器。” 当搜索类似于Construct的库时,这一区别很重要。 它确实是唯一的,并且是我在C ++中真正想要的功能。
我可以找到的最接近的库称为binpac 。 但是,它仅创建解析器,并且是生成C ++代码的外部工具。
为什么是struct
s,它是C和C ++固有的。 除非您希望能够生成只能在运行时确定的具有一组字段的结构,否则, 在这种情况下, malloc
(分配struct变量所需的内存)和一些memcpy
s(将数据写入struct变量)应该可以解决问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.