Access the ESQL Client-interface DLL in Windows environments

A dynamic link library (DLL) is a collection of functions and resources that can be shared by applications. It is similar to a runtime library in that it stores functions that many applications need. It differs, however, from a runtime library in the way that it is linked to the calling application.

Libraries that are linked at compile time are static-link libraries. The libraries such as libc and libcmt (used with the Microsoft Visual C++, Version 2.x) are static-link libraries. Whenever you link one of these Microsoft Visual C++ (Version 2.x) libraries to your application, the linker copies the code from the appropriate static-link library to the executable file (.exe) for your application. By contrast, when you link dynamically, no code is copied to the executable file of your application. Instead, your functions are linked at run time.

Static-link libraries are effective in an environment where no multitasking is required. However, they become inefficient when more than one application calls the same functions. For example, if two applications that are running simultaneously in a Windows environment call the same static-link function, two copies of the function is in memory. This situation is inefficient.

But if a function is dynamically linked, the Windows system first checks memory to see if a copy of the function already is there. If a copy exists, the Windows system uses that copy rather than making another copy. If the function does not yet exist in memory, the Windows system links or copies the function into memory from the DLL.

The Informix® ESQL/C library functions, and other internal functions, are contained in the ESQL client-interface DLL. To use these functions in your Informix® ESQL/C application, you must perform the following tasks:
  • Access the import library for the ESQL client-interface DLL
  • Locate the ESQL client-interface DLL