Definition of Different Types of Libraries in Windows (11509)



The information in this article applies to:

  • Microsoft Windows Software Development Kit (SDK) 3.0
  • Microsoft Windows Software Development Kit (SDK) 3.1

This article was previously published under Q11509

SUMMARY

There are three different types of libraries used in Windows. These three types of libraries are defined as follows:

  1. 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.
  2. 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.
  3. 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.

Modification Type:MajorLast Reviewed:10/29/2003
Keywords:kb16bitonly KB11509