/GF (Elimina stringhe duplicate)
Aggiornamento: novembre 2007
Consente al compilatore di creare un'unica copia di stringhe identiche nell'immagine del programma e nella memoria durante l'esecuzione. Questo consente di avere programmi di dimensioni minori, un tipo di ottimizzazione denominata condivisione delle stringhe.
/GF
Note
/GF condivide le stringhe in sola lettura.
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. 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";
![]() |
---|
L'opzione /Z7, /Zi, /ZI (Formato informazioni di debug), utilizzata per Modifica e continuazione, imposta automaticamente l'opzione /GF. |
/GF è attivo quando viene utilizzato /O1, /O2 (Riduci dimensione, Ottimizza velocità) 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 la proprietà StringPooling.