Share via


/GF (Elimina stringhe duplicate)

Consente al compilatore di creare una singola copia di stringhe identiche nell'immagine del programma e in memoria durante l'esecuzione. Si tratta di un'ottimizzazione denominata pool di stringhe che può creare programmi più piccoli.

Sintassi

/GF

Osservazioni:

Se si usa /GF, il sistema operativo non scambia la parte di stringa della memoria e può leggere le stringhe dal file di immagine.

Stringhe di pool /GF come di sola lettura. Se si tenta di modificare le stringhe in /GF, si verifica un errore dell'applicazione.

Il pooling di stringhe consente a più puntatori a più buffer di essere più puntatori a un singolo buffer. Nel codice s seguente e t vengono inizializzati con la stessa stringa. Il pooling di stringhe fa in modo 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 imposta automaticamente l'opzione /GF .

Nota

L'opzione del compilatore /GF crea una sezione indirizzabile per ogni stringa univoca. Per impostazione predefinita, un file oggetto può contenere fino a 65.536 sezioni indirizzabili. Se il programma contiene più di 65.536 stringhe, usare l'opzione del compilatore /bigobj per creare altre sezioni.

/GF è attivo quando viene usato /O1 o /O2 .

Per impostare l'opzione del compilatore nell'ambiente di sviluppo di Visual Studio

  1. Aprire la finestra di dialogo Pagine delle proprietà del progetto. Per informazioni dettagliate, vedere Impostare il compilatore e le proprietà di compilazione.

  2. Selezionare la pagina delle proprietà Proprietà>di configurazione C/C++>Generazione codice.

  3. Modificare la proprietà Enable String Pooling .

Per impostare l'opzione del compilatore a livello di codice

Vedi anche

Opzioni del compilatore MSVC
Sintassi della riga di comando del compilatore MSVC