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 - used during development to aid in finding application level errors; contains several levels of checks for possible erroneous argument values and other error conditions that should be caught and resolved before application deployment; these are easily recognized with the
_debug
suffix in the filename- Release - used when the development cycle is completed or when performance comparisons are desired; because most of the checks built into the debug version are removed this version of the libraries performs significantly faster
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