DOC: LIBRARY Statement Documented Incorrectly (108293)
The information in this article applies to:
- Microsoft Visual C++ 1.0, when used with:
- the operating system: Microsoft Windows NT
- Microsoft Visual C++ 1.5, when used with:
- the operating system: Microsoft Windows NT
- Microsoft Visual C++, 32-bit Professional Edition
- Microsoft Visual C++, 32-bit Enterprise Edition
- Microsoft Visual C++, 32-bit 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.
Modification Type: | Major | Last Reviewed: | 12/1/2003 |
---|
Keywords: | kbdocerr KB108293 |
---|
|