Soubory PCH v procesu sestavení
Základ kódu aplikace software project je obvykle součástí více C nebo C++ zdrojové soubory, soubory objektu, knihovny a hlavičkové soubory.Makefile koordinuje obvykle kombinace těchto prvků do spustitelného souboru.Následující obrázek znázorňuje strukturu makefile, který používá soubor předkompilované hlavičky.Makro NMAKE názvy a názvy souborů v tomto diagramu jsou konzistentní s odkazy v příkladu kódu v Ukázkové Makefile pro PCH a Ukázkový kód pro PCH.
Na obrázku používá tři zařízení graficky znázornit tok procesu sestavení.S názvem obdélníky představují každý soubor nebo makra. tři makra představují jeden nebo více souborů.Stínované oblasti představují jednotlivé akce kompilace a propojení.Šipky ukazují, které soubory a makra jsou sloučeny během kompilace nebo proces propojení.
Struktura souboru makefile, který používá soubor předkompilované hlavičky
Začíná v horní části diagramu, STABLEHDRS a AUTONOMNÍHO NMAKE makra jsou v kterých seznam souborů nebude pravděpodobně potřebovat rekompilace.Tyto soubory jsou kompilovány pomocí řetězce příkazu
CL /c /W3 /Yc$(BOUNDRY) applib.cpp myapp.cpp
pouze v případě, že soubor předkompilované hlavičky (STABLE.pch) neexistuje, nebo provést změny souborů uvedených v dvě makra.V obou případech soubor předkompilované záhlaví bude obsahovat kód pouze ze souborů uvedených v STABLEHDRS makra.Poslední požadovaný v makru AUTONOMNÍHO předkompilovaný soubor seznamu.
Soubory seznam v těchto maker mohou být soubory hlaviček nebo C nebo C++ zdrojové soubory. (Jeden .pch soubor nelze použít s moduly C a C++). Všimněte si, že můžete použít hdrstop makra zastavit předkompilace v určitém okamžiku v rámci AUTONOMNÍHO souboru.Viz hdrstop Další informace.
Pokračováním dolů do diagramu představuje APPLIB.obj podpory kód používaný v konečné aplikace.Je vytvořen z APPLIB.cpp, soubory uvedené v makru UNSTABLEHDRS a předkompilovaný kód z předkompilované hlavičky.
MYAPP.obj představuje konečné aplikace.Je vytvořen z MYAPP.cpp, soubory uvedené v makru UNSTABLEHDRS a předkompilovaný kód z předkompilované hlavičky.
Nakonec spustitelný soubor (MOJEAPL.(EXE) vytvoří propojení souborů uvedené v makru OBJS (APPLIB.obj a MYAPP.obj).
Další informace o obrázek viz: