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.  |