Microsoft KB Archive/90553

= Unreferenced Packaged Functions Included With /Zi and /CO =

PSS ID Number: 90553

Article Last Modified on 10/8/1999

-

The information in this article applies to:


 * Microsoft LINK for MS-DOS

-



This article was previously published under Q90553



SUMMARY
Microsoft 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 INFORMATION
When 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: &quot;Packaged functions compiled with /Zi (to add debugging information) are referenced by the compiler. These functions are not removed by /PACKF.&quot;

Additional query words: kbinf 5.30 5.31.009 5.50 5.60

Keywords: kb16bitonly KB90553

Technology: kbAudDeveloper kbLINKSearch kbZNotKeyword3

-

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

© 2004 Microsoft Corporation. All rights reserved.