Muitos desenvolvedores estão adicionando várias macros de conveniência ao Prefix.pch
. Mas minha pergunta é o que é esse Prefix.pch
arquivo.
Se eu remover esse
Prefix.pch
arquivo do meuXcode
, meu aplicativo será executado? Ou vai mostrar algum erro? Ou irá travar durante a construção?Como posso executar meu aplicativo sem
Prefix.pch
arquivo
Respostas:
Cabeçalho pré-compilado.
O que é isso?
A
Prefix.pch
é um cabeçalho pré-compilado. Os cabeçalhos pré-compilados foram inventados para tornar a compilação mais rápida . Em vez de analisar os mesmos arquivos de cabeçalho repetidamente, esses arquivos são analisados uma vez, antes do tempo.Xcode
No Xcode, você adiciona importações dos arquivos de cabeçalho que deseja em um “cabeçalho de prefixo” e habilita
Precompile Prefix Header
para que sejam pré-compilados. Mas a ideia por trás de um cabeçalho de prefixo é diferente da pré-compilação.Um cabeçalho de prefixo é incluído implicitamente no início de cada arquivo de origem. É como se cada arquivo de origem adicionasse
na parte superior do arquivo, antes de mais nada.
Removendo.
Você pode remover o cabeçalho pré-compilado. Esta pergunta já foi respondida no tópico que estou ligando abaixo. Ele contém todas as informações de que você precisa, bem como comentários úteis.
Posso remover o arquivo Prefix.pch do projeto Xcode?
fonte
O que é o arquivo Prefix.pch?
Um .pch é um cabeçalho pré-compilado.
Nas linguagens de programação C e C ++, um arquivo de cabeçalho é um arquivo cujo texto pode ser incluído automaticamente em outro arquivo de origem pelo pré-processador C, geralmente especificado pelo uso de diretivas de compilador no arquivo de origem.
Os cabeçalhos de prefixo são compilados e armazenados em um cache e, em seguida, incluídos automaticamente em cada arquivo durante a compilação. Isso pode acelerar a compilação e permite incluir um arquivo sem adicionar uma instrução de importação a cada arquivo que o usa. Eles não são obrigatórios e, na verdade, tornam a compilação lenta sempre que você os altera.
Sim, você pode compilar e executar o projeto sem o arquivo .pch
No Xcode, vá para as configurações de compilação do seu destino (Command-Option-E, guia build) e desmarque o cabeçalho do prefixo de pré-compilação (GCC_PRECOMPILE_PREFIX_HEADER). Você também pode remover o valor da configuração Prefix Header, se desejar.
Observe também que,
Não coloque macros em um arquivo a.pch! Um arquivo .pch é, por definição, um cabeçalho pré-compilado específico do projeto. Ele realmente não deve ser usado fora do contexto do projeto e realmente não deve conter nada além de #includes e #imports.
Se você tem algumas macros e deseja compartilhar entre os cabeçalhos, cole-as em um arquivo de cabeçalho próprio - Common.h ou qualquer outro - e # inclua isso no início do .pch
fonte
Os cabeçalhos de prefixo são compilados e armazenados em um cache e, em seguida, incluídos automaticamente em cada arquivo durante a compilação. Isso pode acelerar a compilação e permite incluir um arquivo sem adicionar uma instrução de importação a cada arquivo que o usa. Eles não são obrigatórios e, na verdade, tornam a compilação lenta sempre que você os altera.
Geralmente, a
.pch
formação de nomenclatura de arquivo éyourProjectName-Prefix.pch
fonte
História:
#include vs #import
Cabeçalhos pré-compilados - prefix.pch
#include
vs@import
tem uma desvantagem - tempo de construção lento porque um compilador deve analisar e compilar tantas vezes quantos.h
arquivos foram importados.Precompiled header file - .pch
- coleta os cabeçalhos comuns. Quando este arquivo é pré-compilado, ele pode ser usado em arquivos de origem, o que acelera o tempo de construção.Vamos dar uma olhada no
Prefix.pch
exemplo:Para adicionar o
.pch
arquivo, vá paraBuild Settings
:O desenvolvedor precisa gerenciar o
.pch
arquivo que impõe custos adicionais para apoiá-lo.A próxima etapa é
@import
[Sobre]fonte