This article was previously published under Q11509
This article has been archived. It is offered "as is" and will no longer be updated.
There are three different types of libraries used in Windows. Thesethree types of libraries are defined as follows:
Object libraries are produced by LIB.EXE, and consist of Intel object code; for example, SWLIBC.LIB (the W implies the objects were compiled using Windows prolog conventions).
Object libraries, which are sometimes more accurately called static link libraries, are the libraries that contain object code. These libraries are used at link time to resolve statically linked calls.
DLLs (Dynamic-Link Libraries) are produced by IMPLIB.EXE and LIB.EXE, and contain dynamic-link records derived from GDI.DEF, USER.DEF, and KERNEL.DEF. They also contain the Windows startup routine, WINSTART.OBJ, and any routines necessary to override C run-time functions (for example, calloc and malloc); that is, Windows-specific run-time functions.
NOTE: The term Dynamic-Link Library or DLL is usually used to describe the actual Windows executable that implements a particular API.
The term import library is usually used to describe the product of the IMPLIB utility. This library is used to resolve references to DLL exports at the time the application is linked.
Executable libraries are produced by the Microsoft linker program (LINK.EXE), and use the keyword LIBRARY in the .DEF file. They contain sharable Windows code, for example, GDI.EXE, USER.EXE, or KERNEL.EXE.