MaterStudiorum.ru - домашняя страничка студента.
Минимум рекламы - максимум информации.


Авиация и космонавтика
Административное право
Арбитражный процесс
Архитектура
Астрология
Астрономия
Банковское дело
Безопасность жизнедеятельности
Биографии
Биология
Биология и химия
Биржевое дело
Ботаника и сельское хоз-во
Бухгалтерский учет и аудит
Валютные отношения
Ветеринария
Военная кафедра
География
Геодезия
Геология
Геополитика
Государство и право
Гражданское право и процесс
Делопроизводство
Деньги и кредит
Естествознание
Журналистика
Зоология
Издательское дело и полиграфия
Инвестиции
Иностранный язык
Информатика
Информатика, программирование
Исторические личности
История
История техники
Кибернетика
Коммуникации и связь
Компьютерные науки
Косметология
Краткое содержание произведений
Криминалистика
Криминология
Криптология
Кулинария
Культура и искусство
Культурология
Литература и русский язык
Литература(зарубежная)
Логика
Логистика
Маркетинг
Математика
Медицина, здоровье
Медицинские науки
Международное публичное право
Международное частное право
Международные отношения
Менеджмент
Металлургия
Москвоведение
Музыка
Муниципальное право
Налоги, налогообложение
Наука и техника
Начертательная геометрия
Новейшая история, политология
Оккультизм и уфология
Остальные рефераты
Педагогика
Полиграфия
Политология
Право
Право, юриспруденция
Предпринимательство
Промышленность, производство
Психология
Психология, педагогика
Радиоэлектроника
Разное
Реклама
Религия и мифология
Риторика
Сексология
Социология
Статистика
Страхование
Строительные науки
Строительство
Схемотехника
Таможенная система
Теория государства и права
Теория организации
Теплотехника
Технология
Товароведение
Транспорт
Трудовое право
Туризм
Уголовное право и процесс
Управление
Управленческие науки
Физика
Физкультура и спорт
Философия
Финансовые науки
Финансы
Фотография
Химия
Хозяйственное право
Цифровые устройства
Экологическое право
Экология
Экономика
Экономико-математическое моделирование
Экономическая география
Экономическая теория
Эргономика
Этика
Юриспруденция
Языковедение
Языкознание, филология
    Начало -> Информатика, программирование -> Как ускорить компиляцию с помощью предкомпилированных заголовков в С++ Builder

Название:Как ускорить компиляцию с помощью предкомпилированных заголовков в С++ Builder
Просмотров:94
Раздел:Информатика, программирование
Ссылка:none(0 KB)
Описание:Принцип действия предкомпилированных заголовков. Как проверить, что предкомпилированные заголовки используются эффективно.

Университетская электронная библиотека.
www.infoliolib.info

Часть полного текста документа:

Как ускорить компиляцию с помощью предкомпилированных заголовков в С++ Builder Серебров Борис
    Precompiled headers can dramatically increase compilation speeds ...
    С++ Builder Language Guide
    Вместо вступления сразу приведу пример. Полная сборка (build) проекта, содержащего около 170 cpp-модулей, при использовании предкомпилированных заголовков происходит за 811 секунд, при этом число обработанных компилятором строк составляет 1,808,780. При компиляции того же проекта без использования предкомпилированных заголовков, время сборки составляет 2399 секунд, а число строк, обработанных компилятором - 45,261,820. Впечатляет, не так ли? Плата за это ускорение, в принципе не велика - предкомпилированный образ, размер которого около 40 Мб.
    При компиляции исходных текстов, компилятор должен обработать все *.cpp файлы проекта и все включенные в них *.h - файлы. При этом обрабатываются как пользовательские заголовочные файлы, так и стандартные, такие как vcl.h или Word2k.h. Количество кода, находящегося в стандартных заголовках может быть очень большим, например размер файла Word2k.h превышает 5 Мб, в нем больше 130 000 строк кода.
    Так как содержимое стандартных заголовков не изменяется, то их компиляция при каждой сборке проекта является напрасной тратой времени. Предкомпилированные заголовки помогают решить эту проблему - стандартные файлы компилируются один раз, а затем используется скомпилированный двоичный образ. Принцип действия предкомпилированных заголовков
    Для управления предкомпилированными предназначена директива компилятора #pragma hdrstop. Все заголовочные файлы, включенные до этой директивы, помещаются в один образ, например:
    #include
    #include
    #pragma hdrstop
    Такая последовательность создаст образ, содержащий скомпилированные vcl.h и string. Этот образ будет использован для другого cpp-файла, если в нем до директивы hdrstop будут включены те же файлы, в том же порядке. Обращу внимание, что важен не только состав, но и порядок следования заголовков - даже если следующий cpp-файл включает те же заголовки, но сначала указан string, а потом vcl.h, то для этого cpp-файла будет создан новый образ.
    Таким образом, для повторного использования предкомпилированного заголовка необходимо выполнение двух условий:
    - состав включенный файлов до директивы hdrstop должен быть тем же
    - последовательность включения файлов до директивы hdrstop должна быть той же
    Сократить затраты на компиляцию стандартных заголовков до минимума можно только в том случае, если скомпилировать один образ, содержащий все стандартные заголовки, необходимые для проекта. Для этого нужно, чтобы:
    - ВСЕ cpp-файлы проекта имели одинаковый блок включений до директивы hdrstop
    - в этот блок должны входить ВСЕ стандартные заголовочные файлы, необходимые для проекта
    Выполнить эти условия достаточно просто, для этого в начало каждого cpp-файла необходимо поместить следующие строки:
    #include
    #pragma hdrstop
    где pch.h - файл, содержащий включения всех стандартных заголовков:
    #ifndef PCH_H
    #define PCH_H
    #define INC_VCLDB_HEADERS
    #define INC_VCLEXT_HEADERS
    #include
    #include
    #include
    #include
    #include
    ...
    #endif
    Полный текст моей версии этого файла приведен в конце статьи. ............






Похожие работы:

Название:Грамматические трансформации, используемые при переводе английских информационных газетных заголовков на русский язык
Просмотров:192
Описание: Содержание Введение Глава 1. Газетный заголовок как лингвистическое явление 1.1 Понятие газетного заголовка 1.2 Функции газетного заголовка 1.3 Стилистические особенности английского информационного

Название:Рубрикация. Классификация заголовков
Просмотров:177
Описание: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ Государственное образовательное учреждение Высшего профессионального образования «ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ

Название:Языково-стилистические особенности заголовков в газете
Просмотров:162
Описание: Языково-стилистические особенности заголовков в газете Содержание 1. Роль и значение заголовков периодических изданий 2. Стилистические особенности газетных заголовков

Название:Заголовковий комплекс на сторінках газети "Запорізька Правда"
Просмотров:205
Описание: Державний вищий навчальний заклад „Запорізький національний університет” Міністерства освіти і науки України Факультет журналістики Курсова робота Заголовковий комплекс на сторінках газети

Название:Как ускорить компиляцию с помощью предкомпилированных заголовков в С++ Builder
Просмотров:94
Описание:Принцип действия предкомпилированных заголовков. Как проверить, что предкомпилированные заголовки используются эффективно.

 
     

Вечно с вами © MaterStudiorum.ru