title | ms.custom | ms.date | ms.prod | ms.reviewer | ms.suite | ms.technology | ms.tgt_pltfrm | ms.topic | f1_keywords | dev_langs | helpviewer_keywords | ms.assetid | caps.latest.revision | author | ms.author | manager | translation.priority.ht | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
-Gy (Enable Function-Level Linking) | Microsoft Docs |
11/04/2016 |
visual-studio-dev14 |
|
article |
|
|
|
0d3cf14c-ed7d-4ad3-b4b6-104e56f61046 |
17 |
corob-msft |
corob |
ghogen |
|
Allows the compiler to package individual functions in the form of packaged functions (COMDATs).
/Gy[-]
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 option /OPT (Optimizations) to exclude unreferenced packaged functions from the .exe file.
You can use the linker option /ORDER (Put Functions in Order) to include packaged functions in a specified order in the .exe file.
Inline functions are always packaged if they are instantiated as calls (which occurs, for example, if inlining is off or you take a function address). In addition, C++ member functions defined in the class declaration are automatically packaged; other functions are not, and selecting this option is required to compile them as packaged functions.
Note
The /ZI option, used for Edit and Continue, automatically sets the /Gy option.
-
Open the project's Property Pages dialog box. For details, see How to: Open Project Property Pages.
-
Click the C/C++ folder.
-
Click the Code Generation property page.
-
Modify the Enable Function-Level Linking property.
- See xref:Microsoft.VisualStudio.VCProjectEngine.VCCLCompilerTool.EnableFunctionLevelLinking%2A.