/GF (Supprimer les doublons)
Permet au compilateur de créer une seule copie des chaînes identiques dans l'image de programme et en mémoire pendant l'exécution.Il s'agit d'une optimisation appelée regroupement des chaînes qui peut créer des programmes plus petits.
/GF
Notes
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.
/GF regroupe les chaînes en lecture seule.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 /ZI, utilisée pour Modifier & Continuer, définit automatiquement l'option /GF.
[!REMARQUE]
L'option du compilateur /GF crée une section adressables pour chaque chaîne unique.Et par défaut, un fichier objet peut contenir jusqu'à 65 536 sections adressables.Si votre programme contient plus de 65 536 chaînes, utilisez l'option du compilateur /bigobj pour créer plus de sections.
/GF est appliqué lorsque /O1 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 programmation
- Consultez StringPooling.