ПредишенСледващото

Прекомпилирани хедър (роден предварително компилиран заглавки.) - в медийните езици за програмиране C и C ++ - начин да се ускори изготвянето на програми, дължащи се на предварителна обработка на така наречените заглавки. които съдържат модули и интерфейси, според правилата на данните на език за програмиране, свързано с програмата чрез пряко вмъкване на текст в тялото на основната програма със специална директива предпроцесорни #include. Прекомпилирани заглавията се съхраняват на диск като файл във вътрешния формат на компилатора и да прекомпилирате времето на проект за преработка и връзката е значително намалени.

С език за програмиране от външен модул използва заглавни файлове. Това опростява компилатор, и дава възможност за известна гъвкавост - и това е работил в продължение на 20 години, докато заглавията са били малки, и файловете в проекта - малко. С разширяването на софтуерни проекти съставяне време започва да расте от втора [1] - се увеличава броят на компилация единици. и броя на заглавията, които са свързани с всяка отделна единица. В много големи проекти пълна прекомпилиране отнема десетки минути и обикновено се извършва по време на вечерните изграждане. отколкото в програмистите на работното място.

В допълнение, език за програмиране на C принадлежи към семейството на LR (1). и С компилатори толкова бавно, например, Pascal (което е LL (1)) [цитат 1402].

За да се намали времето за натрупване, и са разработени прекомпилирани заглавки. Тъй като заглавията се променят много по-рядко файлове, съдържащи програмен код (библиотека - почти никога), интелигентен инструмент за оптимизация оказа извърши предварителна обработка на заглавната част, и да ги превърне в файлове от специален вид, който, когато програмата се компилира, можете да се свържете без да минава през първия етап на компилация. Поради предкомпилиране заглавна компилатор пълна обработка изложени само променените части на програмата. Въпреки това, предварителна компилация от заглавието не винаги да помогне:

  1. Ако промените някоя от предкомпилирана заглавната прекомпилирани целия набор.
  2. При пълно прекомпилирате печалба във времето това се получава, когато един и същ набор се използва в най-малко две единици на компилация.
Ето защо, като правило, в набор от прекомпилирани заглавията включват всички видове библиотека, голяма и в същото време много рядко се променят.

Predkompiliruetsya всичко, което отива до hdrstop на директива #pragma.

H-файлове при съставянето на GCC автоматично приема, че искате да направите предварително компилирано с глава (или може да бъдат определени от командния ред, -x ключ). Повечето програмни мембрани (например, код :: Blocks) позволяват да определите кои файлове са прекомпилирани. Стандартното решение е да се "изхвърлят" най-често срещаните, но рядко вървят заглавията в з-файл и да го свържете първата.

Подобна е ситуацията и в Персийския залив. Visual C ++ версия 6.0 и по-горе predkompiliruet глава със стандартната името - stdafx.h. (Възможно е да смените името на опцията за съставител). помощната програма за създаване на IDE проект позволява да изберете дали да използвате прекомпилирани заглавията трябва да бъде. Тяхната употреба опция компилатор /Yu'stdafx.h "се добавя автоматично, както и за съставяне на всеки файл, който не съдържа #include« stdafx.h », ще бъде спряна с грешка.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!