/Yu (Usar arquivo de cabeçalho pré-compilado)

Instrui o compilador a usar um arquivo de cabeçalho pré-compilado existente (.pch) na compilação atual.

Sintaxe

/Yu[filename]

Argumentos

filename
O nome de um arquivo de cabeçalho, que está incluído no arquivo de origem usando uma diretiva de pré-processador #include.

Comentários

O nome do arquivo de inclusão deve ser o mesmo para a opção /Yc que cria o cabeçalho pré-compilado e para qualquer opção posterior /Yu que indique o uso do cabeçalho pré-compilado.

Para /Yc, o nome de arquivo especifica o ponto no qual a pré-compilação é interrompida; o compilador pré-compila todo o nome do arquivo e nomeia o cabeçalho pré-compilado resultante usando o nome base do arquivo de inclusão e uma extensão de .pch.

O arquivo .pch deve ter sido criado usando /Yc.

O compilador trata todo o código que ocorre antes do arquivo .h como pré-compilado. Ele pula para um pouco além da #include diretiva associada ao arquivo .h, usa o código contido no arquivo .pch e compila todo o código após o nome do arquivo.

Na linha de comando, nenhum espaço é permitido entre /Yu e nome do arquivo.

Quando você especifica a opção /Yu sem um nome de arquivo, seu programa de origem deve conter um pragma #pragma hdrstop que especifique o nome do arquivo do cabeçalho pré-compilado, arquivo .pch. Nesse caso, o compilador usará o cabeçalho pré-compilado (arquivo .pch) nomeado por /Fp (Name .pch file). O compilador ignora o local desse pragma e restaura o estado compilado do arquivo de cabeçalho pré-compilado especificado. Em seguida, compila apenas o código que segue o pragma. Se #pragma hdrstop não especificar um nome de arquivo, o compilador procurará um arquivo com um nome derivado do nome base do arquivo de origem com uma extensão .pch. Você também pode usar a opção /Fp para especificar um arquivo .pch diferente.

Se você especificar a opção /Yu sem um nome de arquivo e não especificar um pragma hdrstop, uma mensagem de erro será gerada e a compilação não será bem-sucedida.

Se as opções /Ycnome de arquivo e /Yunome de arquivo ocorrerem na mesma linha de comando e ambas fizerem referência ao mesmo nome de arquivo, /Ycnome do arquivo terá precedência, pré-compilando todo o código até e incluindo o arquivo nomeado. Esse recurso simplifica a gravação de makefiles.

Como os arquivos .pch contêm informações sobre o ambiente do computador e informações de endereço de memória sobre o programa, você deve usar apenas um arquivo .pch no computador em que ele foi criado.

Para obter mais informações sobre cabeçalhos pré-compilados, confira:

Para definir esta opção do compilador no ambiente de desenvolvimento do Visual Studio

  1. Especifique /Yc (Criar arquivo de cabeçalho pré-compilado) em um arquivo .cpp em seu projeto.

  2. Abra a caixa de diálogo Páginas de Propriedades do projeto. Para obter detalhes, confira Definir as propriedades de build e do compilador do C++ no Visual Studio.

  3. Selecione Propriedades de Configuração>C/C++>Cabeçalhos pré-compilados na página de propriedades.

  4. Modifique a propriedade Cabeçalho Pré-compilado, a propriedade Criar/Usar PCH por Meio do Arquivo ou a propriedade Criar/Usar Cabeçalho pré-compilado.

Para definir essa opção do compilador via programação

Exemplo

Se o seguinte código:

#include <afxwin.h>   // Include header for class library
#include "resource.h" // Include resource definitions
#include "myapp.h"    // Include information specific to this app
...

for compilado usando a linha de comando CL /YuMYAPP.H PROG.CPP, o compilador não processa as três instruções de inclusão. Em vez disso, ele usa o código pré-compilado de MYAPP.pch, o que economiza o tempo envolvido no pré-processamento de todos os três arquivos (e quaisquer arquivos que eles possam incluir).

Você pode usar a opção /Fp (Name .pch file) com a opção /Yu para especificar o nome do arquivo .pch se o nome for diferente do argumento filename para /Yc ou do nome base do arquivo de origem, como no seguinte exemplo:

CL /YuMYAPP.H /FpMYPCH.pch PROG.CPP

Este comando especifica um nome de arquivo de cabeçalho pré-compilado MYPCH.pch. O compilador usa seu conteúdo para restaurar o estado pré-compilado de todos os arquivos de cabeçalho até e incluindo MYAPP.h. Em seguida, o compilador compila o código que ocorre após a diretiva #include "MYAPP.h"*.

Confira também

Opções do compilador MSVC
Sintaxe da linha de comando do compilador MSVC