Choose between shared and static library versions
Beginning with Informix® Client Software Development Kit version 3.0, static versions of HCL Informix® general libraries are available on Windows™ and UNIX™ operating systems.
Informix® ESQL/C products before version 7.2 use static versions of the libraries for the Informix® general libraries. While static libraries are effective in an environment that does not require multitasking, they become inefficient when more than one application calls the same functions. Version 7.2 and later of Informix® ESQL/C also supports shared versions of the Informix® general libraries.
- Shared libraries reduce the sizes of executable files because these library functions are linked dynamically, on an as-needed basis.
- At run time, a single copy of a shared library can be linked to several programs, which results in less memory use.
- The effects of shared libraries in the Informix® ESQL/C executable are transparent to the user.
- Dynamically load the shared library into memory for the first time
- Perform link-editing operations
- Execute library position-independent code
Because the real I/O time that the operating system needs to load a program and its libraries usually does not exceed the I/O time saved, the apparent performance of a program that uses shared libraries is as good as or better than one that uses static libraries. However, if applications do not share, or if your processor is saturated when your applications call shared-library routines, you might not realize these savings.
You can also link thread-safe versions of the static and shared Informix® general libraries with the Informix® ESQL/C application.