Partilhar via


Arquivos PCH no processo de compilação

Geralmente, a base de código de um projeto de software está contida em vários c ou C++ arquivos de origem, 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 arquivo neste diagrama são consistentes com aquelas no código de exemplo encontrado em Makefile de amostra para PCH e Código de exemplo para PCH.

A figura usa três dispositivos diagramáticas para mostrar o fluxo do processo de compilação.Chamado retângulos representam cada arquivo ou macro; as três macros representam um ou mais arquivos.As áreas sombreadas representam cada ação de compilação ou link.As setas mostram quais arquivos e as macros são combinadas durante a compilação ou o processo de vinculação.

Estrutura de um Makefile que usa um arquivo de cabeçalho pré-compilado

Makefile que usa um arquivo de cabeçalho pré-compilado

Começando na parte superior do diagrama, STABLEHDRS e o autônomo são macros NMAKE em que você provavelmente não precisará de recompilação de arquivos de lista.Esses arquivos são compilados usando a seqüência de comandos

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 a que ser pré-compilado na macro autônomo.

Os arquivos que você listar as 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 os módulos de c e C++). Observe que você pode usar o hdrstop macro pare de pré-compilação em algum momento dentro do arquivo autônomo.Consulte hdrstop para obter mais informações.

Continuando para baixo no diagrama, APPLIB.obj representa o código de suporte usado em sua aplicação final.Ele é criado a partir de APPLIB.cpp, os arquivos listados na macro UNSTABLEHDRS e pré-compilado código do cabeçalho pré-compilado.

MYAPP.obj representa a sua aplicação final.Ele é criado a partir de MYAPP.cpp, os arquivos listados na macro UNSTABLEHDRS e pré-compilado código do cabeçalho pré-compilado.

Finalmente, o arquivo executável (MYAPP.EXE) é criado, vinculando os arquivos listados na macro de OBJETOS (APPLIB.obj e MYAPP.obj).

Para mais discussões sobre a figura, consulte:

Consulte também

Referência

Usando cabeçalhos pré-compilados em um projeto