/GF (Elimina stringhe duplicate)
Abilita il compilatore a creare una copia singola di stringhe identiche nell'immagine del programma e nella memoria durante l'esecuzione.Si tratta dell'ottimizzazione chiamata condivisione delle stringhe che può creare programmi di dimensioni minori.
/GF
Note
Se si utilizza /GF, il sistema operativo non scambia la parte di stringhe della memoria ed è in grado di rileggere le stringhe dal file di immagine.
/GF condivide le stringhe in sola lettura.Se si tenta di modificare le stringhe in /GF, si verifica un errore dell'applicazione.
La condivisione delle stringhe consente a quelli che erano destinati a essere puntatori multipli a buffer multipli di risultare come dei puntatori multipli a un singolo buffer.Nel codice che segue, s e t vengono inizializzati con la stessa stringa.La condivisione delle stringhe determina che puntino alla stessa memoria:
char *s = "This is a character buffer";
char *t = "This is a character buffer";
[!NOTA]
L'opzione /ZI, utilizzata per Modifica e continuazione, consente di impostare automaticamente l'opzione /GF.
[!NOTA]
L'opzione del compilatore /GF crea una sezione indirizzabile per ogni stringa univoca.Per impostazione predefinita inoltre un file oggetto contiene fino a 65.536 sezioni indirizzabili.Se il programma contiene più di 65.536 stringhe, utilizzare l'opzione del compilatore /bigobj per creare altre sezioni.
/GF è attiva quando si utilizza /O1 o /O2.
Per impostare l'opzione del compilatore nell'ambiente di sviluppo di Visual Studio
Aprire la finestra di dialogo Pagine delle proprietà del progetto.Per informazioni dettagliate, vedere Procedura: aprire le pagine delle proprietà dei progetti.
Fare clic sulla cartella C/C++.
Fare clic sulla pagina delle proprietà Generazione codice.
Modificare la proprietà Attiva condivisione stringhe.
Per impostare l'opzione del compilatore a livello di codice
- Vedere StringPooling.