Microsoft KB Archive/108293

= DOC: LIBRARY Statement Documented Incorrectly =

Article ID: 108293

Article Last Modified on 12/1/2003

-

APPLIES TO


 * Microsoft Visual C++ 1.0 Professional Edition, when used with:
 * Microsoft Windows NT 4.0
 * Microsoft Visual C++ 1.5 Professional Edition, when used with:
 * Microsoft Windows NT 4.0
 * Microsoft Visual C++ 6.0 Professional Edition
 * Microsoft Visual C++ 6.0 Enterprise Edition
 * Microsoft Visual C++ 5.0 Learning Edition

-



This article was previously published under Q108293



SUMMARY
The documentation in the "Command-Line Utilities User's Guide" (hard copy and online) may be misleading with regard to the function of the LIBRARY statement in a module definition file (.DEF file). The documentation indicates that the name specified after the LIBRARY statement in a .DEF file will be used as the base name of the file that is written to disk as a result of the build process. This is not true.

The Visual C++ 2.0 documentation has the correct information for the LIBRARY statement.



MORE INFORMATION
The LIBRARY Statement only affects the module name of the dynamic-link library (DLL) being built. The Windows concept of a "module" applies to either an application (executable program) or a library. Both serve very different purposes, yet applications and libraries are both types of modules.

The effect of the LIBRARY statement on a build is most easily shown by examining the header information of the module created by running EXEHDR.EXE, giving the module name as the input file. Pay particular attention to the "Library:" and "Description:" fields, in the case of a DLL, and the "Module:" and "Description:" fields, in the case of an executable.

To see where the module name is actually used, run a utility such as HEAPWALKER.EXE. The information in the "Owner:" field is the module name of the module associated with each entry.

Keywords: kbdocerr KB108293

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.