/GL (otimização de todo o programa)
Habilita a otimização do programa inteiro.
/GL[-]
Comentários
A otimização de programa inteira permite que o compilador executa otimizações com informações sobre todos os módulos do programa. Sem otimização de programa inteira, as otimizações são executadas na base de módulo (compiland).
A otimização de programa inteira é por padrão e deve ser explicitamente habilitada. No entanto, também é possível desabilitar explicitamente com /GL-.
Com informações sobre todos os módulos, o compilador pode:
Otimizar o uso dos registros nos limites da função.
Faça um trabalho melhores do controle de alterações nos dados globais, permitindo a redução no número de cargas e de repositório.
Faça um trabalho de melhores possível controlar o conjunto de itens alterados por um ponteiro eliminam, reduzindo os números de cargas e de repositório.
Uma função embutida em um módulo mesmo quando a função é definida em outro módulo.
os arquivos de .obj gerados com /GL não estarão disponíveis em utilitários do vinculador como EDITBIN e DUMPBIN.
Se você criar seu programa com /GL e /c, você deve usar a opção do vinculador de /LTCG criar o arquivo de saída.
/ZI não pode ser usado com /GL
O formato dos arquivos gerados com /GL na versão atual não pode ser legível por versões subsequentes do Visual C++. Você não precisa enviar um arquivo de .lib entendido dos arquivos de .obj que foram gerados com /GL a menos que você está disposto enviar cópias do arquivo de .lib para todas as versões do Visual C++ que você espera que os usuários se usar, agora e no futuro.
os arquivos de .obj gerados com /GL e os arquivos de cabeçalho pré-compilados não devem ser usados para criar um arquivo de .lib a menos que o arquivo de .lib é vinculado no mesmo computador que gerou o arquivo de /GL .obj. Informações do arquivo de cabeçalho pré-compilado do arquivo de .obj será necessária no tempo de link.
Para obter mais informações sobre as otimizações disponíveis com e as limitações de otimização do programa inteira, consulte /LTCG. /GL também faz a otimização orientada perfil disponível; consulte /LTCG. Ao criar para o perfil guiou otimizações e se desejar que a função da ordenação das otimizações guiadas perfil, você deve criar /Gy ou com um padrão do compilador que implica /Gy.
Para definir esta opção do vinculador no ambiente de desenvolvimento do Visual Studio
- Consulte /LTCG (geração de código do tempo de vinculação) para obter informações sobre como especificar /GL no ambiente de desenvolvimento.
Para definir essa opção de vinculador por meio de programação
- Consulte WholeProgramOptimization.