Почему «make» перекомпилирует несколько файлов, когда я меняю один файл? - PullRequest
0 голосов
/ 07 декабря 2011

Когда я редактирую один исходный файл, запускается ли make перекомпилировать этот файл плюс все файлы, для которых этот является зависимым? Если так, то почему?

Ответы [ 3 ]

4 голосов
/ 07 декабря 2011

Если этот файл #inclined в других файлах, разумно ожидать, что эти другие файлы будут перекомпилированы, так как вы не хотите, чтобы «половина» вашей программы была новой, а другая «половина» - старой.

4 голосов
/ 07 декабря 2011

Почему?
Поскольку это и есть цель создания файла Make.
Если конкретный исходный файл изменен, то все зависимые файлы должны быть перекомпилированы с измененным файлом, чтобы всеиз зависимых файлов ссылаются на один и тот же источник, и вся база кода синхронизируется.

Как?
make Утилита проверяет временные метки, чтобы проверить, какие файлы были изменены.файл создан. Необходимо указать правила зависимости , которые явно сообщают утилите, какие другие файлы зависят от конкретного файла.Поэтому, используя эти правила, Make также компилирует все зависимые файлы, чтобы сгенерированные двоичные файлы ссылались на тот же обновленный код.

0 голосов
/ 07 декабря 2011

Когда я редактирую один исходный файл, запускается ли make перекомпилировать этот файл и все файлы, для которых этот является зависимым?Если так, то почему?

Это может произойти для плохого make-файла (вы не опубликовали, как он выглядит).

Или исходный файл содержит реализацию шаблона,и включен где-то.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...