Záhlaví předpony - Prefix header
![]() | tento článek potřebuje další citace pro ověření.Srpna 2018) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
v programování, a záhlaví předpony je funkce nalezená v některých C nebo C ++ překladače slouží k zajištění vložení určitého fragmentu kódu na začátek každého souboru.
Přehled
V C a C ++ programovací jazyky, a hlavičkový soubor je soubor jehož text je součástí jiného zdrojového souboru překladač, obvykle použitím směrnice kompilátoru na začátku zdrojového souboru. Záhlaví předpony se liší od normálního souboru záhlaví tím, že je automaticky zahrnut na začátku každého zdrojového souboru kompilátorem, bez použití jakýchkoli směrnic kompilátoru.
Záhlaví předpony jsou obvykle předkompilovaný za účelem zkrácení doby kompilace. Použití hlaviček předpon mimo tento účel může váš kód ztížit při údržbě a méně znovu použít.[1]Záhlaví předpony lze také použít pro podporu mezi platformami. Na * NIX systémy, je běžné mít soubor záhlaví config.h vygenerovaný v době sestavení (pomocí něčeho jako autoconf ), který popisuje možnosti systému. Při použití určitých sestavovacích systémů, jako je Visual Studio nebo Xcode, však nemusí být tento config.h k dispozici. Jednou z technik, jak to vyřešit, je mít HAVE_CONFIG_H předdefinované makro v sestavovacím systému, který generuje config.h, aby kód věděl, zda potřebuje #include config.h (& je bezpečné pro použití v sestavovacích systémech, které to dělají nemít). Alternativou by bylo, kdyby systém sestavení místo definice HAVE_CONFIG_H přidal config.h jako záhlaví předpony. Nevýhodou samozřejmě je, že tato hlavička bude přidána do každé kompilační jednotky, nejen do těch, které ji výslovně obsahují.
Příklad
Na Mac OS X, Xcode build systém automaticky generuje hlavičky předpon pro nové projekty. Nový Kakao Například projekt dostane hlavičku předpony, která vypadá takto:
#ifdef __OBJC__ #import #endif
Výsledkem je explicitní zahrnutí výše uvedených hlavičkových souborů do libovolného Cíl-C soubor kódu neznamená druhé zahrnutí z důvodu #import
směrnice z Cíl-C, nebo obecněji s #zahrnout
z důvodu použití zahrnout stráže; proto lze na tyto prvky zapomenout, ale je to obhajováno[1] mít je výslovně napsané, aby byl zdrojový kód autonomní a opakovaně použitelný, a aby byly závislosti na knihovně jasné.
Podobné záhlaví předpon jsou generovány pro jiné typy projektů.
Viz také
Reference
- ^ A b „Předkompilované hlavičky 4 způsoby ochromují váš kód • Kvalitní kódování“. Kvalitní kódování. 28. února 2012. Citováno 17. srpna 2018.