简体   繁体   中英

C++ equivalent of Python's “construct” library

I'm looking for a library equivalent Python's "construct", maybe somebody has ported it.

Construct is a powerful declarative parser for binary data.

It is based on the concept of defining data structures in a declarative manner, rather than procedural code: Simple constructs can be combined hierarchically to form increasingly complex data structures. It's the first library that makes parsing fun, instead of the usual headache it is today.

This is similar question for java. Java equivalent of Python's "construct" library

Thanks.

You might be interested in taking a look at Protocol Buffers . This library will let you write a description of your data in an intermediate language that can be compiled to C++, Java or python.

For reference the OP is talking about this library called Construct . The library allows you to build parsers/constructors that can both parse and reconstruct the original binary data stream. "Construct is a powerful declarative and symmetrical parser and builder for binary data." This distinction is important when searching for a library similar to Construct. It really is unique and is a feature I really want in C++.

The closest library I can find is called binpac . However it is only creates a parser and is an external tool that generates C++ code.

Why yes, struct s, native to C and C++. Unless you want the ability to produce structs with a set of fields that can only be determined at runtime; in this case, malloc (to allocate the memory the struct variable will need) and some memcpy s (to write data to the struct variable) should do the trick.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM