/Gw(优化全局数据)

在 COMDAT 节中打包全局数据以进行优化。

语法

/Gw[-]

备注

/Gw 选项可让编译器在各个 COMDAT 节中打包全局数据。 默认情况下,/Gw 处于关闭状态,必须显式启用。 若要显式禁用它,请使用 /Gw-。 在启用 /Gw/GL 时,链接器将使用全程序优化来比较多个对象文件的 COMDAT 节,以排除未引用的全局数据或合并相同的只读全局数据。 这样可以显著减小生成的二进制可执行文件的大小。

当您单独进行编译和链接时,您可以使用 /OPT:REF 链接器选项从使用 /Gw 选项编译的对象文件中的可执行文件中排除未引用的全局数据。

您还可以将 /OPT:ICF/LTCG 链接器选项一起使用,以将使用 /Gw 选项编译的多个对象文件中的相同只读全局数据合并到可执行文件中。

有关详细信息,请参阅 C++ 团队博客中的 /Gw 编译器开关简介

在 Visual Studio 开发环境中设置此编译器选项

  1. 打开项目的“属性页” 对话框。 有关详细信息,请参阅在 Visual Studio 中设置 C++ 编译器和生成属性

  2. 选择“配置属性”>“C/C++”>“命令行”属性页

  3. 修改“附加选项”属性以包含 /Gw,然后选择“确定”

以编程方式设置此编译器选项

另请参阅

MSVC 编译器选项
MSVC 编译器命令行语法