Condividi tramite


/GL (Ottimizzazione intero programma)

Aggiornamento: novembre 2007

Attiva l'ottimizzazione dell'intero programma.

/GL[-]

Note

L'ottimizzazione dell'intero programma consente al compilatore di eseguire ottimizzazioni con informazioni su tutti i moduli nel programma. Senza l'ottimizzazione dell'intero programma, le ottimizzazioni vengono eseguite una per modulo.

Poiché per impostazione predefinita l'ottimizzazione dell'intero programma è disattivata, è necessario attivarla in modo esplicito. Tuttavia, è anche possibile disattivarla in modo esplicito con /GL-.

Con informazioni su tutti i moduli, il compilatore può:

  • Ottimizzare l'utilizzo dei registri oltre i limiti delle funzioni.

  • Ottimizzare il rilevamento delle modifiche apportate ai dati globali riducendo il numero di operazioni di caricamento e archiviazione.

  • Ottimizzare il rilevamento degli eventuali insiemi di elementi modificati dalla risoluzione dei riferimenti di un puntatore riducendo le operazioni di caricamento e archiviazione.

  • Eseguire l'inline di una funzione in un modulo anche quando è definita in un altro modulo.

I file obj generati con /GL non saranno disponibili per utilità del linker quali Riferimenti a EDITBIN e Riferimenti a DUMPBIN.

Se si compila il programma con /GL e /c (Compila senza collegamenti), sarà necessario utilizzare l'opzione del linker /LTCG per creare il file di output.

/Z7, /Zi, /ZI (Formato informazioni di debug) non possono essere utilizzate con /GL

Il formato dei file creati con /GL nella versione corrente potrebbe risultare non leggibile nelle versioni di Visual C++ successive. Non è quindi opportuno fornire un file lib composto da file obj creati con l'opzione /GL, a meno di non essere disposti a distribuirne copie per tutte le versioni di Visual C++ che si prevede gli utenti utilizzino, ora e in futuro.

I file obj creati con /GL e i file di intestazione precompilata non devono essere utilizzati per generare un file lib, a meno che quest'ultimo non venga collegato sullo stesso computer in cui è stato prodotto il file obj con l'opzione /GL. Le informazioni provenienti dal file di intestazione precompilato del file obj saranno necessarie in fase di collegamento.

Per ulteriori informazioni sulle ottimizzazioni disponibili con l'ottimizzazione dell'intero programma e i limiti di quest'ultima, vedere /LTCG (Generazione di codice in fase di collegamento). Quando si utilizza /GL, è disponibile anche l'ottimizzazione PGO. Al riguardo, vedere /LTCG. Quando si esegue la compilazione per le ottimizzazioni PGO e si desidera che queste ultime operino l'ordinamento delle funzioni, è necessario utilizzare /Gy (Attiva collegamento a livello di funzione) o un'opzione del compilatore che implica /Gy.

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

Per impostare l'opzione del linker a livello di codice

Vedere anche

Riferimenti

Opzioni del compilatore

Impostazione delle opzioni del compilatore