|Important||This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer|
/Gy (Enable Function-Level Linking)
Allows the compiler to package individual functions in the form of packaged functions (COMDATs).
The linker requires that functions be packaged separately as COMDATs to exclude or order individual functions in a DLL or .exe file.
You can use the linker optionto exclude unreferenced packaged functions from the .exe file.
You can use the linker optionto place packaged functions in a specified order within the .exe file.
Inline functions are always packaged if they are instantiated as calls (which occurs, for example, if inlining is turned off or you take a function address). In addition, C++ member functions defined within the class declaration are automatically packaged; other functions are not, and selecting this option is required to compile them as packaged functions.
Theoption, used for Edit and Continue, automatically sets the /Gy option.
To set this compiler option in the Visual Studio development environment
Open the project's Property Pages dialog box. For details, see.
Click the C/C++ folder.
Click the Code Generation property page.
Modify the Enable Function-Level Linking property.
To set this compiler option programmatically