|
|
|
Gluttton |
|
||||||||||||||||
Начинающий Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: нет Всего: 54 |
Доброго времени суток!
Стоит задача: автоматически включать в код информацию о времени его последней компиляции. Как вариант решения видится следующее:
Пусть сначала выводится информация о времени сборки, а затем (для примера), выводится сумма двух чисел переданных через командрую строку. При этом функция вычисления суммы реализована в отдельном файле.
Выполним сборку:
Запустим приложение:
Теперь если изменить файл main.cpp, то время последней компиляции обновиться (т.к. будет изменен файл main.o), а если мы внесем изменения в файл sum.cpp - то нет. Вопрос, как достичь автоматического обновления информации о времени последней компиляции при изменении любого файла? Это сообщение отредактировал(а) Gluttton - 4.6.2012, 18:37 -------------------- Слава Україні! |
||||||||||||||||
|
|||||||||||||||||
bsa |
|
|||
Эксперт Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 4 Всего: 196 |
для этого нужно создать в makefile правило, выполняемое все время. В этом правиле нужно создавать хидер с текущим временем. Этот хидер, где-нибудь включать. При каждом вызове make будет пересоздаваться хидер, а все файлы, его включающие, будут пересобираться.
|
|||
|
||||
Gluttton |
|
||||
Начинающий Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: нет Всего: 54 |
bsa, спасибо! Почти так и сделал.
Помимо описанной выше задачи, дополнительно проверяю ревизию в системе контроля версий - Mercurial:
И теперь даже если я изменю только файл sum.cpp, то это повлечет за собой перекомпиляцию main.o и время компиляции отобразиться корректно. А если ничего менять не буду, то при повторном выполнении команды make компиляция вызываться не будет. P.S. В данном примере меня устраивает анализ файлов по ls *.cpp, но на реальном проекте нужно использовать find. Это сообщение отредактировал(а) Gluttton - 23.6.2012, 20:43 -------------------- Слава Україні! |
||||
|
|||||
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | GNU toolchain | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |