Unreferenced Packaged Functions Included With /Zi and /COLast reviewed: July 17, 1997Article ID: Q90553 |
5.30 5.31.009 5.50 5.60
MS-DOS
kbtool
The information in this article applies to:
SUMMARYMicrosoft C/C++ generates packaged functions when the compiler command line for a module specifies the /Gy option switch. The /PACKF option instructs Microsoft LINK to exclude unreferenced packaged functions from the executable image. However, if the compiler command line specifies both the /Gy and /Zi options and the LINK command line specifies the /CODEVIEW option, LINK includes the unreferenced packaged functions in the executable image.
MORE INFORMATIONWhen an application refers to a function, the compiler generates a CEXTDEF record that contains the name of the function. If the object module does not contain a CEXTDEF record for a packaged function and the /PACKF linker switch is specified (the default behavior), the COMDAT record for the packaged function is not linked into the executable image. However, when the /Zi compiler option is specified when an application is compiled, the compiler generates a CEXTDEF record for each COMDAT record. Because these records indicate that the application refers to each function, the LINK includes the functions in the executable image. Visual C++ version 1.0 documents this behavior in its description of the /PACKF option as follows: "Packaged functions compiled with /Zi (to add debugging information) are referenced by the compiler. These functions are not removed by /PACKF."
|
Additional reference words: kbinf 5.30 5.31.009 5.50 5.60
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |