Article ID: 31998 - Last Review: October 23, 2003 - Revision: 2.0

How the Linker Searches the Libraries

This article was previously published under Q31998
The linker searches for unresolved externals in the following order:
  1. Find all modules in the library that define current unresolved externals.
  2. Process those modules (you may pickup more unresolved externals). The linker keeps making passes through that library until no new unresolved externals are picked up.
  3. It then advances to the next library.
In a similar manner, the linker makes a pass through the entire set of libraries. After the last library is searched, if new unresolved externals have been picked up, it returns to the first library and makes another pass.

Problems can be avoided if you do not use bidirectional cross-library references (that is, avoid library A calling something in library B that calls something else in library A). Try to make each library as self-contained as possible.
Expand all | Collapse all

APPLIES TO
  • Microsoft LINK for MS-DOS
Keywords: 
KB31998
Retired KB ArticleRetired KB Content Disclaimer
This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.
 

Article Translations