I am creating a simple application that uses ossEncode/ossDecode. Which library should I link with my application?

The answer depends upon which type of encoder/decoder you wish to use. OSS offers three different encoder/decoders, all accomplishing (so to speak) the same work, but each optimized in a different way. You would find a brief discussion of which libraries are which in section 1.2 of the OSS ASN.1/C API Runtime Reference Manual (April 2011 edition). A brief explanation of the different encoder/decoders can be found in section 1.2 of the OSS ASN.1 Tools for C Getting Started Manual (April 2011 edition); I have also provided an explanation below.

The easiest to use for the beginner is what we call the space-optimized encoder/decoder (SOED). It offers the most comprehensive trace facilities, error messages and debugging features. To use it in a statically linked application, you would link in libasn1code.a. It that is satisfactory, you may stop reading at this point. For a more elaborate explanation, please continue.

The various encoder/decoders are optimized to suit your priorities. In each case, you just link in the appropriate one. There is no need to change your application, nor any need to change your ASN.1, in switching from one type of encoder/decoder to another.

Space-Optimized Encoder Decoder (SOED)

- smaller (independent of ASN.1 complexity)
- slower
- interpreter-driven
- full debugging information
- full constraint checking
- most suitable for development
- most commonly used

Time-Optimized Encoder Decoder (TOED)

- default
- fastest
- larger (depending on ASN.1 complexity)
- code-driven
- little debugging information
- partial constraint checking (for performance reasons)
- suitable for production use

Lean Encoder Decoder (LED)

- Smallest of all (some C-representation flexibility is removed)
- interpreter-driven (like SOED), but fast
- not as fast as the TOED
- no constraint checking of its own, but can be combined with the SOED's
  constraint functions
- best for embedded platforms
- not part of the standard package (costs extra)

If you are still unsure which runtime is best for your application, please contact us at support@oss.com.


The samples included with some of the Knowledge Center answers are meant for your general understanding of the OSS products. Different versions of the products might produce slightly different outputs. Consult the products documentation and samples for the most up-to-date products information and code examples.



Contact Support
contact Our office hours
24 hours/day, 7 days/week

  • Phone: 1-888-OSS-2761 (USA and Canada)
  • Phone: 1-732-302-9669 (International)
  • Fax: 1-732-302-0023
  • Email: support@oss.com
Free Trial
download

Test drive the OSS Nokalva ASN.1, 4G and XML Tools now! Your trial includes complete software, documentation, sample programs, free 24x7 technical support and more.




Learn ASN.1
Learn ASN.1

Our expert personnel can help you learn ASN.1!

We offer 4-day ASN.1 courses at our headquarters or your premises.