/GF (Supprimer les doublons)
Mise à jour : novembre 2007
Permet au compilateur de créer une copie unique de chaînes identiques dans l'image du programme et en mémoire pendant l'exécution, d'où des programmes plus compacts, une optimisation appelée regroupement des chaînes.
/GF
Notes
/GF regroupe les chaînes en lecture seule.
Si vous utilisez l'option /GF, le système d'exploitation n'échange pas la partie chaîne de la mémoire et peut relire les chaînes à partir du fichier image. Si vous essayez de modifier les chaînes sous /GF, une erreur d'application se produit.
Le regroupement des chaînes permet de transformer ce qui était censé représenter des pointeurs multiples désignant des mémoires tampons multiples en pointeurs multiples désignant une seule mémoire tampon. Dans le code suivant, s et t sont initialisées avec la même chaîne. Sous l'effet du regroupement des chaînes, elles pointent vers la même mémoire :
char *s = "This is a character buffer";
char *t = "This is a character buffer";
Remarque : |
---|
L'option /Z7, /Zi, /ZI (Format des informations de débogage), utilisée pour Modifier & Continuer, définit automatiquement l'option /GF. |
/GF est appliqué lorsque /O1, /O2 (Réduire la taille, augmenter la vitesse) ou /O2 est utilisé.
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 Génération de code.
Modifiez la propriété Activation du regroupement des chaînes.
Pour définir cette option du compilateur par programme
- Consultez StringPooling.