Linking with an Import Library

The figure below illustrates a simple case in which you create an application that uses a single dynamic-link library (.DLL) file.

┌──────────┐   ┌─────────┐       ┌─────────┐   ┌──────────┐
│ .OBJ and │   │.DEF file│       │.LIB file│   │ .OBJ and │
│.LIB files│   │(LIBRARY)│       │(imports)│   │.LIB files│
│          │   │(exports)│       │         │   │          │
└────┬─────┘   └──┬───┬──┘       └──┬───┬──┘   └────┬─────┘
     │            │   │             │   │           │
     └──────┬─────┘   │                └─────┬─────┘
            │         └─(2) IMPLIB─┘         │
                                             
      (1) LINK386                       (3) LINK386
                                             
            │                                 │
       ┌────┴────┐                     ┌──────┴──────┐
       │.DLL file│                     │ .EXE file   │
       │(library)│                     │(application)│
       └─────────┘                     └─────────────┘

As depicted above, linking occurs in three steps:


[Back: Linking without an Import Library]
[Next: Module Definition Files Basics]