Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Предварительно откомпилированные заголовки и типы.






Visual C++ помещает родовые типы, прототипы функций, внешние ссылки и объявления функций-членов класса в специальные файлы, называемые заголовочными. Эти файлы содержат много важных определений, необходимых многочисленным исходным файлам, которые связываются воедино для создания исполняемой программы. Части заголовочных файлов, как правило, компилируются заново для каждого модуля, в который он включается. К сожалению, необходимость повторной компиляции участков текста приводит к снижению общей производительности компилятора. Visual C++ ускоряет процесс компиляции, позволяя вам заранее откомпилировать ваши заголовочные файлы. Хотя принцип предварительной компиляции не нов, Microsoft использует действительно новый подход. Предварительная компиляция сохраняет на определенном этапе состояние компилируемой программы и вводит соотношение между файлами с текстом программы и заранее откомпилированным заголовком. Можно создать и больше одного откомпилированного заголовочного файла на каждый из файлов с текстом программы.

Одним из лучших примеров применения этой технологии является цикл Разработки приложения, в котором происходят частые изменения исходных текстов, но определения базовых классов относительно стабильны. Если заголовочный файл откомпилирован заранее, компилятор может сосредоточиться на изменениях в текстах. Откомпилированные заголовки также снижают время компиляции тех приложений, в которых в этих файлах содержатся большие участки исходного кода данного модуля, как это часто случается в программах на C++.

Компилятор Visual C++ полагает, что текущее состояние компиляции такое же, как тогда, когда были откомпилированы какие-либо заголовки. Если компилятор заметит несоответствия, он выдаст предупреждение. Такие несоответствия могут возникать вследствие изменения модели памяти, изменения значений определенных констант, или смены параметров отладки или генерации кода.

В отличие от большинства распространенных компиляторов C++, компилятор фирмы Microsoft не ограничивает предварительную компиляцию только заголовочными файлами. Поскольку он позволяет предварительно откомпилировать программу до заданной точки, вы можете также иметь и заранее откомпилированный исходный текст. Это чрезвычайно существенно для тех программ на C++, которые содержат в заголовочных файлах большую часть определений функций-членов класса. Вообще, предварительная компиляция предназначена для тех участков текста программы, которые можно считать неизменными; она служит для уменьшения времени компиляции тех частей программы, которые находятся в процессе разработки.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.