![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 13.05.2017
Сообщений: 100
|
![]()
Пишу программу, которая составляет судоку. Использую мультифайловое программирование. При этом, чтобы каждый раз не подключать заголовочные файлы, создал свой хэдэрс, где прописал все нужные заголовки и подключаю его во всех файлах. Но тут возник вопрос: а не замедляет ли это программу? Читал, что хэдэрсы сильно замедляют компиляцию, так что думаю: правильный ли я подход избрал? Может лучше в файлах прописывать только нужные конкретно там заголовочные файлы?
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,724
|
![]()
Была уже подобная тема недавно.
1. Может замедлять, надо смотреть конкретные случаи и компиляторы. 2. Не сильно 3. Предкомпиленным заголовкам сто лет в обед 4. Если не собираетесь потом эти части отделять, то можно оставить так Посмотрите на модули. |
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,065
|
![]()
На каждую запись типа #include "gfdgdf.h" компилятор ищет файл "gfdgdf.h", читает содержимое файла и вставляет его вместо этой записи. Потом получившуюся простыню уже анализирует и компилирует. И так для каждого cpp файла отдельно. Критично уж на совсем дохлых компах или на больших проектах. На обычных поделках, разрабатываемых в одно лицо я бы вообще не загонялся.
|
![]() |
![]() |
![]() |
#4 |
Вредный кошак
Участник клуба
Регистрация: 14.10.2012
Сообщений: 1,159
|
![]() |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 12.04.2017
Сообщений: 889
|
![]()
Уточню - большие проекты - это типа LibreOffice, который 5Гб исходников тащит.
Остальное все - скорее мелкое (даже линукс кернел) и компилятся совр. i7 менее часа. То, что вы сможете в 1 лицо написать за год по 8 часов в день, будет компилятся не более 10 минут. |
![]() |
![]() |