The XBinder C Runtime Library contains low-level functions that are assembled by the XBinder compiler to accomplish the encoding and decoding of XML messages. This library also contains common functions for memory management, stream operations, linked list handling, and character text conversions.
The following libraries make up the XBinder run-time:
osysrtxml – contains low-level functions to implement the encoding and decoding of standard XML messages for the various XML schema types.
osysrtdom - contains low-level functions that implement an abstract (Document Object Model) DOM interface. These functions are used when a user generates code with the -dom compilation switch. This is expected to be used with a concrete DOM implementation. XBinder provide a default implementation based on the libxml2 DOM implementation.
osysrtexi - contains low-level functions that implement Efficient XML Interchange (EXI) schemaless encoding and decoding. The package contains standard functions for transforming a document from XML to EXI format and vice-versa.
osysrt – contains common low-level functions for memory management, etc.
There are several variations of the C XML and common run-time library files for Windows. The following table summarizes what options were used to build each of these variations:
osysrt_a.lib osysrtxml_a.lib osysrtdom_a.lib osysrtexi_a.lib
|Static single-threaded libraries. These were built with the –ML option. These are not thread-safe. However, they provide the smallest footprint of the different libraries|
|osysrtxml.lib||DLL library. This is used to link with the osysrtxml.dll dynamic link library. This contains all of the function from all of the static libraries described above.|
|osysrtmt_a.lib osysrtxmlmt_a.lib osysrtdommt_a.lib osysrteximt_a.lib||Static multi-threaded libraries. These libraries were built with the –MT option. They should be used if your application contains threads and you wish to link with the static libraries (note: the DLL’s are also thread-safe).|
|osysrtmd_a.lib osysrtxmlmd_a.lib osysrtdommd_a.lib osysrteximd_a.lib||DLL-ready multi-threaded libraries. These libraries were built with the – MD option. They allow linking additional object modules in with the runtime modules to produce larger DLL’s.|
For dynamic linking on UNIX/Linux, a shared object version of each run-time library is included in the lib subdirectory. This file typically has the extension .so (for shared object) or .sl (for shared library). See the documentation for your UNIX compiler to determine how to link using these files (it varies for different types of UNIX systems).
A version of the libraries is available that contains run-time source code making it possible for the enduser to build customized versions that are further optimized or that use other non-standard compiler options.