/Fx (Fusionner le code injecté)
Mise à jour : novembre 2007
Produit une copie de chaque fichier source avec le code injecté fusionné dans la source.
/Fx
Notes
Pour distinguer un fichier source fusionné d'un fichier source d'origine, /Fx ajoute une extension .mrg entre le nom et l'extension de fichier. Par exemple, un fichier nommé MyCode.cpp contenant le code avec attributs et généré avec /Fx crée un fichier nommé MyCode.mrg.cpp contenant le code suivant :
//+++ 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
Dans un fichier .mrg, le code injecté en raison d'un attribut sera délimité de la façon suivante :
//+++ Start Injected Code
...
//--- End Injected Code
L'attribut no_injected_text est incorporé dans un fichier .mrg, qui autorise la compilation du fichier .mrg sans réinjection de texte.
Vous devez savoir que le fichier source .mrg est destiné à servir de représentation du code source injecté par le compilateur. Le fichier .mrg peut ne pas se compiler ou s'exécuter exactement comme le fichier source d'origine.
Les macros ne sont pas développées dans le fichier .mrg.
Si votre programme inclut un fichier d'en-tête qui utilise du code injecté, /Fx génère un fichier .mrg.h pour cet en-tête. /Fx ne fusionne pas les fichiers Include qui n'utilisent pas de code injecté.
Pour définir cette option du compilateur dans l'environnement de développement Visual Studio
Ouvrez la boîte de dialogue Pages de propriété du projet. Pour plus d'informations, consultez Comment : ouvrir les pages de propriétés d'un projet.
Cliquez sur le dossier C/C++.
Cliquez sur la page de propriétés Fichiers de sortie.
Modifiez la propriété Développement de la source avec attributs.
Pour définir cette option du compilateur par programme
- Consultez ExpandAttributedSource.