C Runtime Libraries

The /target/bin directory under your eXtremeDB installation root directory contains a number of binary libraries that can be statically linked to your C/C++ applications. Each library is provided in two forms:

Debug and Optimized Runtime

The eXtremeDB DDL compiler mcocomp can generate an optimized version of the implementation files (by specifying option –o) that is most appropriate when building the final “release mode” version of an application. Linking with the “release mode” versions of the runtime libraries will result in the best possible application performance.

However, during development, the debug runtime libraries provide extensive support for application developers to quickly catch most programming errors related to database access. For instance, if an application mistakenly passes a corrupted transaction or object handle into a runtime method, the runtime (by default) raises a fatal exception and stops execution of the program. In most cases, this makes it very easy for the application developer to examine the call stack and find the source of the corruption. The debug runtime libraries internally implement many verification traps and various consistency checks. Obviously, that does not come free - the runtime needs to consume extra CPU cycles and some extra space for that.

When all the code is bug-free and the application can consistently pass verification tests, it is unnecessary to continue checking function parameters and supporting the debug traps. At this stage, it is advantageous to utilize the optimized mcocomp output files and the “release mode” runtime libraries.

Configuration examples

As explained in the package contents descriptions of the eXtremeDB libraries, many of the libraries implement specific features that can be included or excluded from your application depending on the functionality required. Please use the following links to view examples that illustrate some common application configurations with the corresponding linker directives for your development platform:

Unix-Linux Standard Unix or Linux 64bit or 32bit platforms
Windows Microsoft Windows 7 (or later)
Integrity OS Green Hills Integrity OS
VxWorks Wind River VxWorks OS