Compiling and Linking

Applications using EHLLAPI functions must include the appropriate header file to obtain the proper function prototypes, constants, and data structure definitions. These header files may be used with any of the supported C/C++ compilers (see Languages). If a different compiler or language is used, then you must provide your own equivalent definitions and structures.

There are two possible ways to link the application program, depending on how the entry point is to be resolved. The simplest way is to statically link the application with the appropriate Personal Communications library. This will resolve the entry point at link time. The operating system will load the correct DLL with the application when it starts. Another way to link to the entry point is to perform dynamic linking. In this case, the application uses operating system calls to load the correct DLL and obtain the entry point address at run time.

The following table shows which header files to use, which .LIB should be used for static linking, and which .DLL should be used for dynamic loading.
Note: From version 14.0.6.0 onwards the 64- bit libraries are also packaged for static linking.
Interface Entry Point Header File LIB DLL
IBM® Standard (16-bit) hllapi hapi_c.h PCSCALLS.DLL PCSHLL.DLL
IBM Standard (32-bit/64-bit) hllapi ehlapi32.h EHLAPI32.LIB EHLAPI32.DLL
IBM Enhanced (32-bit/64-bit) hllapi hapi_c.h PCSCAL32.LIB PCSHLL32.DLL
WinHLLAPI (16-bit) winhllapi whllapi.h WHLLAPI.LIB WHLLAPI.DLL
WinHLLAPI (32-bit/64-bit) winhllapi whllapi.h WHLAPI32.LIB WHLAPI32.DLL