Arquivos PCH no processo de criação
A base de código de um projeto de software é normalmente contida em vários C ou C++ arquivos-fonte, arquivos de objeto, bibliotecas e arquivos de cabeçalho.Normalmente, um makefile coordena a combinação desses elementos em um arquivo executável.A figura a seguir mostra a estrutura de um makefile que usa um arquivo de cabeçalho pré-compilado.Os nomes de macro NMAKE e os nomes de arquivos neste diagrama são consistentes com aquelas em código de exemplo encontrado na Makefile de amostra para PCH and Exemplo de código para PCH.
A figura usa três dispositivos diagramáticas para mostrar o fluxo do processo de compilação.Retângulos nomeados representam cada arquivo ou macro; três macros representam um ou mais arquivos.As áreas sombreadas representam cada ação de compilar ou link.Setas mostram quais arquivos e as macros são combinadas durante a compilação ou processo de vinculação.
Estrutura de um Makefile que usa um arquivo de cabeçalho pré-compilados
Começando na parte superior do diagrama, tanto STABLEHDRS e BOUNDRY são NMAKE macros em que você lista arquivos provavelmente não precisará de recompilação.Esses arquivos são compilados usando a seqüência de comando
CL /c /W3 /Yc$(BOUNDRY) applib.cpp myapp.cpp
somente se o arquivo de cabeçalho pré-compilado (STABLE.pch) não existe ou se você fizer alterações nos arquivos listados em duas macros.Em ambos os casos, o arquivo de cabeçalho pré-compilado conterá código somente dos arquivos listados na macro STABLEHDRS.Liste o último arquivo que você deseja pré-compilados na macro BOUNDRY.
Os arquivos de lista nessas macros podem ser arquivos de cabeçalho ou arquivos de código-fonte C ou C++.(Um arquivo único .pch não pode ser usado com módulos de C e C++.) Observe que você pode usar o hdrstop macro pare de pré-compilação em algum ponto no arquivo BOUNDRY.See hdrstop para obter mais informações.
Continuando para baixo do diagrama, APPLIB.obj representa o código de suporte usado em seu final aplicativo.É criado a partir de APPLIB.cpp, os arquivos listados na macro UNSTABLEHDRS e pré-compilado código de cabeçalho pré-compilado.
MYAPP.obj representa sua aplicação final.É criado a partir de MYAPP.cpp, os arquivos listados na macro UNSTABLEHDRS e pré-compilado código de cabeçalho pré-compilado.
Finalmente, o arquivo executável (MeuApl.exe) é criado por vincular os arquivos listados na macro de OBJETOS (APPLIB.obj e MYAPP.obj).
Para obter uma abordagem mais da figura, consulte: