/Fx (合併插入的程式碼)
產生插入的程式碼已合併至原始程式碼中的每一個原始程式檔複本。
/Fx
備註
為了區別合併後的原始程式檔與原來的原始程式檔,/Fx 會在檔名與副檔名之間加入 .mrg 副檔名。 例如,名為 MyCode.cpp 而包含屬性化程式碼並以 /Fx 建置的檔案會建立名為 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 檔案中,由於屬性 (Attribute) 而被插入的程式碼會以下列方式分隔:
//+++ Start Injected Code
...
//--- End Injected Code
no_injected_text 屬性會嵌入 .mrg 檔案中,它可以讓 .mrg 檔案在編譯時不會重複插入文字。
您應當瞭解,.mrg 原始程式檔原本就是要代表由編譯器插入的原始程式碼。 因此,.mrg 檔案在編譯和執行上可能不會與原來的原始程式檔完全一樣。
在 .mrg 檔案中巨集不會被展開。
如果您的程式包括使用插入的程式碼之標頭檔,/Fx 會為該標頭產生 .mrg.h 檔。 /Fx 不會合併不使用插入的程式碼之 Include 檔。
若要在 Visual Studio 開發環境中設定這個編譯器選項
開啟專案的 [屬性頁] 對話方塊。 如需詳細資訊,請參閱 HOW TO:開啟專案屬性頁。
按一下 [C/C++] 資料夾。
按一下 [輸出檔] 屬性頁。
修改 [展開屬性化來源] 屬性。