Tak wielu programistów dodaje różne wygodne makra do Prefix.pch
. Ale moje pytanie brzmi, co to za Prefix.pch
plik.
Jeśli usunę ten
Prefix.pch
plik z mojegoXcode
, czy moja aplikacja będzie działać? A może pokaże jakiś błąd? A może ulegnie awarii podczas kompilacji?Jak mogę uruchomić moją aplikację bez
Prefix.pch
pliku
Odpowiedzi:
Wstępnie skompilowany nagłówek.
Co to jest?
A
Prefix.pch
to prekompilowany nagłówek. Prekompilowane nagłówki zostały wynalezione, aby przyspieszyć kompilację . Zamiast w kółko analizować te same pliki nagłówkowe, pliki te są analizowane raz, z wyprzedzeniem.Xcode
W Xcode dodajesz import żądanych plików nagłówkowych w „nagłówku prefiksu” i włączasz je,
Precompile Prefix Header
aby były prekompilowane. Ale idea nagłówka prefiksu różni się od prekompilacji.Nagłówek prefiksu jest niejawnie dołączany na początku każdego pliku źródłowego. To tak, jakby każdy plik źródłowy dodaje
na początku pliku, przede wszystkim.
Usuwam to.
Możesz usunąć prekompilowany nagłówek. Na to pytanie udzielono już odpowiedzi w wątku, do którego odsyłam poniżej. Zawiera wszystkie potrzebne informacje, a także przydatne komentarze.
Czy można usunąć plik Prefix.pch z projektu Xcode?
źródło
Czym jest plik Prefix.pch?
.Pch to wstępnie skompilowany nagłówek.
W językach programowania C i C ++ plik nagłówkowy to plik, którego tekst może być automatycznie dołączony do innego pliku źródłowego przez preprocesor C, zwykle określany przez użycie dyrektyw kompilatora w pliku źródłowym.
Nagłówki prefiksów są kompilowane i przechowywane w pamięci podręcznej, a następnie automatycznie dołączane do każdego pliku podczas kompilacji. Może to przyspieszyć kompilację i umożliwia dołączenie pliku bez dodawania instrukcji importu do każdego używającego go pliku. Nie są wymagane, a kompilacja jest powolna, gdy tylko je zmienisz.
Tak, możesz skompilować i uruchomić projekt bez pliku .pch
W Xcode przejdź do ustawień kompilacji celu (Command-Option-E, karta kompilacji) i odznacz opcję Precompile Prefix Header (GCC_PRECOMPILE_PREFIX_HEADER). Jeśli chcesz, możesz również usunąć wartość ustawienia nagłówka prefiksu.
Pamiętaj też, że
Nie umieszczaj makr w pliku a.pch! Plik .pch jest z definicji prekompilowanym nagłówkiem specyficznym dla projektu. To naprawdę nie powinno być używane poza kontekstem projektu i naprawdę nie powinno zawierać niczego poza #includes i #imports.
Jeśli masz jakieś makra i takie, które chcesz udostępnić między nagłówkami, umieść je we własnym pliku nagłówkowym - Common.h lub cokolwiek innego - i # dołącz to na początku .pch
źródło
Nagłówki prefiksów są kompilowane i przechowywane w pamięci podręcznej, a następnie automatycznie dołączane do każdego pliku podczas kompilacji. Może to przyspieszyć kompilację i umożliwia dołączenie pliku bez dodawania instrukcji importu do każdego używającego go pliku. Nie są wymagane, a kompilacja jest powolna, gdy tylko je zmienisz.
Generalnie
.pch
formatowanie nazw plików toyourProjectName-Prefix.pch
źródło
Historia:
#include vs #import
Prekompilowane nagłówki - prefix.pch
#include
vs@import
ma wadę - długi czas kompilacji, ponieważ kompilator musi przeanalizować i skompilować tyle razy, ile.h
plików zostało zaimportowanych.Precompiled header file - .pch
- zbiera wspólne nagłówki. Kiedy ten plik jest wstępnie skompilowany, może być używany w plikach źródłowych, co przyspiesza czas kompilacji.Rzućmy okiem na
Prefix.pch
próbkę:Aby dodać
.pch
plik przejdź doBuild Settings
:Programista musi zarządzać
.pch
plikiem, który nakłada dodatkowe koszty za jego obsługę.Następny krok to
@import
[Informacje]źródło