Можно ли вставить время сборки в приложение?
В игре есть это:
Мне любопытно, было ли это фактическим временем сборки, и, конечно же, датой "Файл последнего изменения" Crysis.exe
(программа) 03/31/2009, 01:40
,
Конечно, разработчик мог бы легко ввести это значение вручную и создать приложение менее чем за минуту, но мне интересно, действительно ли возможно ввести текущую дату / время (с точностью до секунды), когда приложение на самом деле строительство.
Это будет иметь много преимуществ, в том числе простую идентификацию различных сборок приложения.
Это возможно?
2 ответа
Да, время постройки обеспечивается __TIME__
макро. В вашем примере они также используют __DATE__
макрос, который предоставляет дату.
Да. На ум приходит несколько подходов:
Используйте C
__DATE__
а также__TIME__
макросы. Они являются частью стандарта, однако, они занимают время, когда конкретный файл был создан в последний раз. Таким образом, это означает, что если вы, например, поместите дату сборки в экран приложения about, то дата будет обновляться только тогда, когда вы выполните полную чистую сборку или измените исходный файл about экрана. Чтобы это исправить, вы можете добавить в процесс сборки скрипт, например,touch AboutScreen.cpp
Принудительно вызвать восстановление.
Напишите сценарий оболочки, который вы запускаете перед каждой сборкой, которая генерирует файл заголовка, например
#define BUILD_DATE "2014-07-03 20:15"
и запускайте этот скрипт перед каждой сборкой. Поскольку файл генерируется каждый раз новым, процесс сборки должен заметить, что он изменился, и автоматически запускать новую сборку экрана about или что-либо, показывающее дату / время сборки.