/GL(optimisation du programme Qui le)

Active l'optimisation de l'ensemble du programme.

Syntaxe

/GL[-]

Notes

Qui le l’optimisation du programme permet au compilateur d’effectuer des optimisations avec des informations sur tous les modules du programme. Sans optimisation complète du programme, les optimisations sont effectuées sur une base par module (compileand).

Qui l’optimisation du programme est désactivée par défaut et doit être activée explicitement. Toutefois, il est également possible de le désactiver explicitement avec /GL-.

Avec des informations sur tous les modules, le compilateur peut :

  • Optimisez l’utilisation des registres au-delà des limites de fonction.

  • Effectuez un meilleur travail de suivi des modifications apportées aux données globales, ce qui permet une réduction du nombre de chargements et de magasins.

  • Effectuez le suivi de l’ensemble possible d’éléments modifiés par une déréférence de pointeur, ce qui réduit les charges et magasins requis.

  • Inline une fonction dans un module même lorsque la fonction est définie dans un autre module.

.obj les fichiers générés avec /GL ne sont pas utilisables par les utilitaires éditeur de liens tels que EDITBIN et DUMPBIN.

Si vous compilez votre programme avec /GL et /cque vous devez utiliser l’option /LTCG Linker pour créer le fichier de sortie.

/ZI ne peut pas être utilisé avec /GL

Le format des fichiers générés dans /GL la version actuelle n’est souvent pas lisible par les versions ultérieures de Visual Studio et l’ensemble d’outils MSVC. Sauf si vous êtes prêt à expédier des copies du .lib fichier pour toutes les versions de Visual Studio, vous attendez à ce que vos utilisateurs utilisent, maintenant et à l’avenir, n’envoyez pas de .lib fichier composé de .obj fichiers produits par /GL . Pour plus d’informations, consultez Restrictions sur la compatibilité binaire.

.obj les fichiers d’en-tête générés par /GL et précompilés ne doivent pas être utilisés pour générer un .lib fichier, sauf si le .lib fichier est lié sur le même ordinateur que celui qui a produit le /GL.obj fichier. Les informations du .obj fichier d’en-tête précompilé du fichier sont nécessaires au moment du lien.

Pour plus d’informations sur les optimisations disponibles et les limitations de l’optimisation complète du programme, consultez /LTCG. /GL rend également l’optimisation guidée par profil disponible. Lors de la compilation pour les optimisations guidées de profil et si vous souhaitez commander des fonctions à partir de vos optimisations guidées de profil, vous devez compiler avec /Gy ou une option de compilateur qui implique /Gy.

Pour définir cette option de l'éditeur de liens dans l'environnement de développement Visual Studio

Pour plus d’informations sur la façon de spécifier /GL dans l’environnement de développement, consultez /LTCG (Génération de code au moment du lien) .

Pour définir cette option de l'éditeur de liens par programmation

Voir aussi

Options du compilateur MSVC
Syntaxe de ligne de commande du compilateur MSVC