Share via


/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 開發環境中設定這個編譯器選項

  1. 開啟專案的 [屬性頁] 對話方塊。 如需詳細資訊,請參閱 HOW TO:開啟專案屬性頁

  2. 按一下 [C/C++] 資料夾。

  3. 按一下 [輸出檔] 屬性頁。

  4. 修改 [展開屬性化來源] 屬性。

若要以程式方式設定這個編譯器選項

請參閱

參考

輸出檔 (/F) 選項

編譯器選項

設定編譯器選項