körülbelül stdafx
Miért használja Előre lefordított fejlécek
Előre lefordított fejléceket célja, hogy felgyorsítsa a build projekt. Jellemzően programozók kezdenek megismerkedni Visual C ++ segítségével apró projekteket. Ezek nehéz belátni származó nyereség előre lefordított fejlécét. Mi történt velük, nélkülük, ugyanakkor a program fordítása szemét. Ez növeli a zavart. Az ember nem látja az előnyeit ezt a mechanizmust, és úgy dönt, hogy az adott feladat, és soha nem kell. És néha úgy találja, oly sok év.
Sőt, előre lefordított fejlécek nagyon hasznos technológia. Használja ki látható, még akkor is, ha a projekt csak néhány tucat fájlokat. Különösen erősítés lehet látni, hogy használják, mint például a könyvtár nehéz lökést.
Ha megnézzük * .cpp fájlokat a projektben, azt látjuk, hogy sok közül egyet, és ugyanazokat a header fájlokat. Például, vektor, húr, algoritmus. Viszont ezek a fájlok tartalmazzák más header fájlokat, és így tovább.
Ez jelentősen csökkenti a munka mennyiségét kell végezni előfeldolgozó összeállításához a projekt. Az ötlet az, hogy előre preprocess fájlok csoportját, majd egyszerűen helyettesíti a kész darab szöveg.
Sőt, még mindig számos lépést. Lehetőség van, hogy tárolja és nem csak szöveget, és több feldolgozott információkat. Nem tudom, hogyan van elrendezve Visual C ++. De például, lehetséges, hogy tárolja a szöveg törött zsetont. Ez tovább gyorsítsák fel a fordítási folyamatot.
Hogyan Előre lefordított fejlécek
Fájlt, amely az előre lefordított fejlécek kiterjesztése „.pch”. A fájl neve általában ugyanaz, mint a neve a projekt. Természetesen, ez és más nevek lehet változtatni a beállításokat. A fájl lehet elég nagy, attól függően, hogy hány fejléceket amennyit megoldott. Például a projekt PVS-Studio ez kb 3 megabájt.
Fájl * .pch után történik összeállítása stdafx.cpp. Fájl megy a kulcs „/ YC”. Ez a kapcsoló csak azt mondja a fordító, hogy hozzon létre egy már lefordított fejlécét. stdafx.cpp fájl tartalmazhat egyetlen sort: #include «stdafx.h».
A «stdafx.h» a legérdekesebb fájlt. Ezek tartalmazniuk kell a fejléc fájlokat előkezelt előre. Példaként itt stdafx.h fájlt az általunk használt a PVS-Studio (rövidített fájlt a cikk):
Irányelv „#pragma figyelmeztetés” meg kell megszabadulni a figyelmeztetéseket adott ki a standard könyvtár.
Most minden fájl * .c / *. CPP tartalmaznia kell «stdafx.h». Ugyanakkor el kell távolítani ezeket a fájl fejlécét, amely már tartalmazza a segítségével «stdafx.h».
Hogyan kell használni Előre lefordított fejlécek
Amikor egy új projekt varázsló Visual Studio létrehoz két fájlt: stdafx.h és stdafx.cpp. Ez rajtuk keresztül, és rájött, a mechanizmus lefordított fejlécét.
Tény, hogy ezek a fájlok is lehet nevezni, mint bármi. Fontos, hogy nevét és összeállítási lehetőségek a projekt beállításait.
A * .c / *. Csak egy előre lefordított header használhatja cpp fájl. Azonban az egyik projekt több különböző előre lefordított fejlécét. Amíg azt feltételezzük, hogy ez csak egy van.
Tehát, ha már használta a varázsló-edik, akkor már a fájlokat stdafx.h és stdafx.cpp. Plusz kiállított összes szükséges kulcsokat összeállítása.
Képzeld el a helyzetet, ha tudnánk az «stdafx.h» Még minden fájlt. És hogy ezt a fájlt, és írd be: #define bool char. félreérthetőséget. Mi változik a tartalmát az összes fájlt, hogy említi «bool». Most, csak azért, mert nem tud előkezelt előre és a helyettesítő szöveget. Ez lebontja az egész mechanizmus «előre lefordított fejlécek». Azt hiszem, ez az egyik oka annak, hogy a «stdafx.h» kell helyezni az elején. Lehet, hogy vannak mások.
Ez tartalmazza stdafx.h
Ez egy nagyon fontos pont. Meggondolatlan felvétele a «stdafx.h» csak egy sort nem csak felgyorsítja összeállítás, de lelassul, és fordítva.
Minden fájl, beleértve a «stdafx.h», annak tartalmától függően. Hagyja «stdafx.h» engedélyezte a fájlok «X.h». Ha változtatni semmit a «X.h», ez okozhat egy teljes recompilation a projekt.
Szabály. Tartalmazza «stdafx.h» csak azokat a fájlokat, amelyek soha nem változnak, vagy igen ritkán változnak. Jó jelöltek a header fájlokat és a rendszer harmadik fél könyvtárak.
Ha bekapcsolja a «stdafx.h» saját fájlokat a projekt nyomon kettős éberség. Csak azokat a fájlokat, megváltoztak nagyon, nagyon ritka.
Ha a * .h fájl megváltozik havonta egyszer, ez már túl gyakran. Általános szabály, hogy csak ritkán sikerül, hogy minden változást a h-fájl az első alkalommal. Általában 2-3 ismétléseket. Elfogadom 2-3 alkalommal teljesen újrafordítani a teljes projekt - egy kellemetlen. Plusz egy teljes újrafordítás kell az összes kollégái.
Nem elragadtatva a megváltoztathatatlan fájlokat. Csak azt szerepeltesse azt valóban használják. Semmi értelme, hogy tartalmazza. amennyiben ez szükséges csak két helyen. Ahol szükséges, ott és csatlakoztassa a header file.
Előre lefordított fejlécek egy nagyon hasznos mechanizmus jelentősen növeli a sebességet a összeállításához tervezetet.