/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 开发环境中设置此编译器选项
打开此项目的**“属性页”**对话框。 有关详细信息,请参见如何:打开项目属性页。
单击**“C/C++”**文件夹。
单击**“输出文件”**属性页。
修改**“展开特性化源”**属性。