This section presents the new services and the improvements added to the TCE-C++ v5.0 release.
The runtime has been enhanced to improve memory usage. This feature has to be explicitely enabled by the user.
LTE (Long Term Evolution) is the standard for the next mobile network technology. Some of the ASN.1 syntaxes of this standard contain ASN.1 INTEGER values whose value range cannot be mapped on a standard integer type. Those ASN.1 INTEGER types must be mapped on a long integer type but mapping the whole runtime on a long integer type can increase code size and decrease performance.
The TCE-C++ 5.1 release supports an optimized mapping of ASN.1 INTEGER types on different C integer types. Only ASN.1 INTEGER values whose value range need a long integer type are mapped on a long integer type. The runtime and smaller ASN.1 INTEGER types continue using a standard integer type.
This new feature is available using the -longsize Size compilation option (see below). If nothing is specified, the ASN.1 compiler uses the bit length of the standard integer type int, typically 32 bits, for all ASN.1 INTEGER values and returns an error if the ASN.1 syntax contains ASN.1 INTEGER types which cannot be mapped on a standard integer type.
This new compilation option is for compilation of ASN.1 syntaxes having ASN.1 INTEGER types with different value ranges:
By using the new ASN.1 compiler option -longsize Size only those ASN.1 INTEGER types which cannot be mapped on a standard integer are mapped on an integer type whose bit length is defined by Size. On most systems this is typically a long integer type of 64 bits.
Without these options, all integer values are mapped on the standard integer type int.
This new feature is available for all encoding rules, value trace and constraint checking.