/GL (Ottimizzazione intero programma)
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 disabilitarla 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 dereferenziazione 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 con estensione obj prodotti con /GL non saranno disponibili per utilità del linker come EDITBIN e DUMPBIN.
Se si compila il programma con /GL e /c, sarà necessario utilizzare l'opzione del linker /LTCG per creare il file di output.
/ZI non può essere utilizzato 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 compilare 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 le limitazioni di ottimizzazione dell'intero programma, vedere /LTCG./GL rende inoltre disponibile l'ottimizzazione PGO; 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 o un'opzione del compilatore che implica /Gy.
Per impostare l'opzione del linker nell'ambiente di sviluppo di Visual Studio
- Per informazioni su come specificare /GL nell'ambiente di sviluppo, vedere /LTCG (Generazione di codice in fase di collegamento).
Per impostare l'opzione del linker a livello di codice
- Vedere WholeProgramOptimization.