C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Почему файлы перекомпилируются по несколько раз?
b0nes
  Отправлено: 01.08.2004, 14:36


Ученик-кочегар

Группа: Участник
Сообщений: 5



Здравствуйте!

Не могу больше молчать — наболело:-(
Мне на работе приходится сидеть за очень медленной тачкой, вследствии чего каждая перекомпиляция проекта занимает около 5 минут или больше (я успеваю и кофе попить и выкурить сигарету). Я бы не сказал, что проект маленький, но все же...
Дело в том что если делать "build", это как раз на 5 минут, а вот "make" должно быть совсем немного (по идее), особенно если учитывать что я всего одну строчку добавил (ну это к примеру). Так почему же ф-я "make" снова пересобирает весь проект?
А только что еще круче прикол произошел. Нажимаю build, жду... откомпилился, теперь жму кнопку run и... мать его, опять компилирует проект. Что это такое творится, может кто подскажет? Может нужно какие-нить опции подкрутить?
Сейчас параметры проекта: Full Debug, Use Dynamic RTL (откл.), Build with runtime libraries (откл.).

Помогите пожалуйста, не могу больше мучиться:-))

Андрей

Отредактировано b0nes — 01/08/2004, 16:11
Георгий
Отправлено: 01.08.2004, 20:37


Почетный железнодорожник

Группа: Модератор
Сообщений: 874



3 года назад это решал переходом на машину с большей рамой smile.gif
другие способы мало помогали smile.gif

сочувствую

Отредактировано Георгий — 01/08/2004, 21:40
b0nes
  Отправлено: 01.08.2004, 22:17


Ученик-кочегар

Группа: Участник
Сообщений: 5



Ну а почему же все-таки каждый раз пересобираются те файлы, которые я точно не правил? К примеру, я дописал в файл А строчку кода, нажал собрать, и начинается — собирается A, B, C, D.... и т.д. файлы. Ну эти файлы, конечно же, включены в проект, но я же НЕ ИЗМЕНЯЛ их всех!

Андрей
Gedeon
Отправлено: 02.08.2004, 08:11


Ветеран

Группа: Модератор
Сообщений: 1742



Была такая тема.
вот
Может чем поможет, по моему на http://borland.xportal.ru был ее двойник, там еще что-то ответили.

Отредактировано Gedeon — 02/08/2004, 09:19
AVC
Отправлено: 02.08.2004, 09:29


Ветеран

Группа: Модератор
Сообщений: 1583



QUOTE

Ну а почему же все-таки каждый раз пересобираются те файлы, которые я точно не правил? К примеру, я дописал в файл А строчку кода, нажал собрать, и начинается — собирается A, B, C, D.... и т.д. файлы. Ну эти файлы, конечно же, включены в проект, но я же НЕ ИЗМЕНЯЛ их всех!


Уберите лишние зависимости (include).
Несколько лет назад тоже сталкивался с такой проблеммой. Время ПОЛНОЙ сборки проекта зашкаливало за 30 минут. Продуманое включение заголовков, разбите приложения на bpl'и, накапливание изменений для правка "глубоких" файлов доводило время рабочей сборки до 2-х минут.
Gedeon
Отправлено: 02.08.2004, 15:53


Ветеран

Группа: Модератор
Сообщений: 1742



QUOTE (AVC @ 02/08/2004, 10:31)
Уберите лишние зависимости (include).

Да, это насколько я помню причина и внимание обратите на их расположение относительно
CODE

#pragma hdrstop

д.б. после.
UA_Freeman
Отправлено: 04.08.2004, 15:38


Дежурный стрелочник

Группа: Участник
Сообщений: 31



А с временем на том компе всё нормально? Попробуй на всех файлах проекта установить время модификации и создания сегодняшним числом.
А насчёт ускорения компиляции рекомендую такой рецепт:
создаёшь .h — файл, в котором инклудишь все-все стандартные ашки, что придут тебе в голову — vcl, map, list, vector, и т.д.
После этого во всех своих cpp первыми двумя строками пишешь
CODE
#include<твоя мега-ашка>
#pragma hdrstop

Скорость повысится просто неимоверно
b0nes
Отправлено: 06.08.2004, 15:25


Ученик-кочегар

Группа: Участник
Сообщений: 5



А разве если так написать:
CODE

#include<твоя мега-ашка>
#pragma hdrstop

, то с этих инклюдов не будет прекомпилед хедеров, а значит скорость будет не ахти. Может вот так лучше?:
CODE

#pragma hdrstop
#include<твоя мега-ашка>


Андрей

Вернуться в Вопросы программирования в C++Builder