All ASN.1 Compilers

Project oriented, increasement compilation

Project oriented ASN.1 source files management, ASN.1 file will be compiled increasemently on saving.

Data structs mapping straightforward and intuitive, easy to use

Always generates type as primitive as possible, the mapping from ASN.1 types to data structs is quite straightforward and intuitive, easy to use, such minimize your time and effort to get familiar with the generated codes.

Metadata-oriented, minimal generated codes size

Generates only data structures and metadata for ASN.1 types, such minimize the codes generated, resulting a higher code reuse rate.

Low memory consumption, more suitable for embedded systems

with only metadata and message instances, no extra encoding/decoding codes generated, the final program take up lesser memory.

High speed encoding/decoding

Some assumptions greatly improve the speed of encoding/decoding. Of course these assumptions also pose some limitations.

Multi-thread support

Every encoding/decoding invocation use a separate buffer context, enjoy a true multi-thread environment.

True complex DEFAULT value, OPTIONAL value support

Compare DEFAULT value regardless of its complexity, figure out whether a value equals to DEFAULT value.

Rich collection of utility functions to operate messages

Utility functions include comparing the equality of two ASN.1 value, cloning ASN.1 value, printing out ASN.1 value, etc., regardless of the value's complexity, all with one simple function call.

Dynamical encoding/decoding options support

Encoding/decoding options can be changed at runtime, which enable you to, for example, change encoding rules from BER to PER.

ASN.1 C Compiler

Auto-release of message dynamical memory

Dynamical allocated memory can be release all with on single function call.

ASN.1 C++ Compiler

Auto-release of metadata and message memory

Auto-release of the metadata memory, free utility function to free the dynamic content of message.