/Fx(合并插入的代码)

为每个源文件产生一个将插入代码合并到源代码之后的副本。

/Fx

备注

为了区分合并后的源文件与原始源文件,/Fx 将 .mrg 扩展名添加到文件名和文件扩展名之间。例如,对于包含特性化代码并用 /Fx 生成的名为 MyCode.cpp 的文件,将创建一个名为 MyCode.mrg.cpp 的文件,此文件包含下列代码:

//+++ Start Injected Code
[no_injected_text(true)];      // Suppress injected text, it has 
                               // already been injected
#pragma warning(disable: 4543) // Suppress warnings about skipping 
                               // injected text
#pragma warning(disable: 4199) // Suppress warnings from attribute 
                               // providers
//--- End Injected Code

在 .mrg 文件中,由于特性而被插入的代码将按如下方式进行分隔:

//+++ Start Injected Code
...
//--- End Injected Code

no_injected_text 特性被嵌入 .mrg 文件中,它允许在不重新插入文本的情况下编译 .mrg 文件。

应该注意,.mrg 源文件用于表示由编译器插入的源代码。.mrg 文件可能不能完全像原始源文件那样编译或运行。

在 .mrg 文件中,宏不展开。

如果程序包括一个使用插入的代码的头文件,/Fx 将为该头文件生成一个 .mrg.h 文件。/Fx 不会合并不使用插入的代码的包含文件。

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

  1. 打开项目的**“属性页”**对话框。有关详细信息,请参见如何:打开项目属性页

  2. 单击**“C/C++”**文件夹。

  3. 单击**“输出文件”**属性页。

  4. 修改**“展开特性化源”**属性。

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

请参见

参考

输出文件 (/F) 选项

编译器选项

设置编译器选项