Partager via


/Ob (Expansion des fonctions Inline)

Contrôle l'expansion inline des fonctions. Par défaut, lors de l’optimisation, l’expansion se produit à la discrétion du compilateur sur toutes les fonctions, souvent appelée mise en forme automatique.

Syntaxe

/Ob{0|1|2|3}

/Ob{0|1|2}

Arguments

0
Valeur par défaut sous /Od. Désactive les expansions inline.

1
Autorise l’expansion uniquement des fonctions marquées inline, __inline ou __forceinline, ou dans une fonction membre C++ définie dans une déclaration de classe.

2
Valeur par défaut sous /O1 et /O2. Permet au compilateur de développer une fonction qui n’est pas explicitement marquée pour aucune inlining.

3
Cette option spécifie l’inlining plus agressif que /Ob2, mais a les mêmes restrictions. L’option /Ob3 est disponible à partir de Visual Studio 2019.

Notes

Le compilateur traite les options d'expansion inline et les mots clés comme des suggestions. Il n’existe aucune garantie que toute fonction sera développée en ligne. Vous pouvez désactiver les extensions inline, mais vous ne pouvez pas forcer le compilateur à inliner une fonction particulière, même lors de l’utilisation du __forceinline mot clé.

Pour exclure les fonctions de la considération en tant que candidats à l’extension inline, vous pouvez utiliser __declspec(noinline) ou une région marquée par des directives #pragma auto_inline(off) et #pragma auto_inline(on). Pour plus d’informations sur une autre façon de fournir des indicateurs d’incorporation au compilateur, consultez la directive intrinsèque #pragma.

Remarque

Les informations collectées à partir des exécutions de test de profilage remplacent les optimisations qui seraient en vigueur dans le cas contraire, car vous avez spécifié /Ob, /Os ou /Ot. Pour plus d’informations, consultez Optimisations guidées par profil.

Pour définir cette option du compilateur dans l'environnement de développement Visual Studio

  1. Ouvrez la boîte de dialogue Pages de propriété du projet. Pour plus d’informations, consultez Définir le compilateur C++ et les propriétés de build dans Visual Studio.

  2. Sélectionnez la page des propriétés>de configuration C/C++>Optimisation.

  3. Modifiez la propriété Extension de fonction inline.

L’option /Ob3 n’est pas disponible dans la propriété Extension de fonction inline. Pour définir /Ob3 :

  1. Ouvrez la boîte de dialogue Pages de propriété du projet. Pour plus d’informations, consultez Définir le compilateur C++ et les propriétés de build dans Visual Studio.

  2. Sélectionnez la page de propriétés Propriétés de configuration>C/C++>Ligne de commande.

  3. Entrez /Ob3 dans options supplémentaires.

Pour définir cette option du compilateur par programmation

Voir aussi

/O, options (Optimiser le code)
Options du compilateur MSVC
Syntaxe de la ligne de commande du compilateur MSVC