В Borland есть прагма, которая контролирует, сколько строк кода перекомпилируется.
В прошлые годы мне удавалось (в каком-то проекте), что компилируются только изменения моего источника. Я не знаю, будет ли это работать в новых версиях borland
Borland 6 имеет прагму "hdrstop".
эта функция активна, только если параметр проекта «Заголовки перед компиляцией» НЕ равен «none»
лет назад у меня очень медленный компьютер, и я ускоряю время компиляции с часов до минут с помощью следующего трюка
все cpps стали этой первой строкой
#include "all.h"
#pragma hdrstop
по умолчанию было включено "vcl.h"
"all.h" будет включать в себя все заголовки, которые нужны во всех! единицы. каждый юнит пропускает все источники, которые зависят от заголовка до pragma hdrstop.
Пример:
Unit1.h
#include <string>
unit1.cpp
#include "all.h"
#pragma hdrstop
#include "Unit1.h"
Unit2.h
#include <vcl>
Unit2.cpp
#include "all.h"
#pragma hdrstop
#include "Unit2.h"
all.h
#include <string>
#include <vcl>
Импорт
- не использовать all.h в заголовочных файлах
- Вы можете добавить все включения, которые используются в заголовке проекта, например,
- Все исходники, которые зависят от "предварительно скомпилированных заголовков", больше не будут компилироваться!
- генерация скомпилированных заголовков будет медленной! Поэтому добавляйте только заголовки в all.h, которые не будут часто меняться. Как системные заголовки или ваши заголовки, которые уже закончены.
- компиляция может быть неудачной. иногда порядок включений создает «тупик» для компиляции. если это произойдет, отключите «предварительно скомпилированные заголовки». Большинство проблем будет решено, если вы напишите свой c ++, как на java: каждый класс станет его собственным файлом (cpp и h).
- Имя файла в опции проекта «Предварительно скомпилированные заголовки» показывает базовое имя реальных предварительно скомпилированных файлов. модуль может поделиться предварительно скомпилированным файлом с другим модулем, если он имеет (точные) те же самые включения перед "pragma hdrstop". Наилучшая производительность достигается, если у вас есть только один файл с числовым постфиксом. Пример для нескольких предварительно скомпилированных заголовков:
Unit1.h
#include <string>
unit1.cpp
#include "all.h"
#pragma hdrstop
#include "Unit1.h"
Unit2.h
#include <vcl>
Unit2.cpp
#include <vcl> //!!!!!!!!!!!!!!!!!!! produce a second version of an precompiled file
#pragma hdrstop
#include "Unit2.h"
all.h
#include <string>
#include <vcl>