Можно ли вставить время сборки в приложение?

В игре есть это:

Мне любопытно, было ли это фактическим временем сборки, и, конечно же, датой "Файл последнего изменения" Crysis.exe (программа) 03/31/2009, 01:40,

Конечно, разработчик мог бы легко ввести это значение вручную и создать приложение менее чем за минуту, но мне интересно, действительно ли возможно ввести текущую дату / время (с точностью до секунды), когда приложение на самом деле строительство.

Это будет иметь много преимуществ, в том числе простую идентификацию различных сборок приложения.

Это возможно?

2 ответа

Решение

Да, время постройки обеспечивается __TIME__ макро. В вашем примере они также используют __DATE__ макрос, который предоставляет дату.

LIVE DEMO

Да. На ум приходит несколько подходов:

  1. Используйте C __DATE__ а также __TIME__ макросы. Они являются частью стандарта, однако, они занимают время, когда конкретный файл был создан в последний раз. Таким образом, это означает, что если вы, например, поместите дату сборки в экран приложения about, то дата будет обновляться только тогда, когда вы выполните полную чистую сборку или измените исходный файл about экрана. Чтобы это исправить, вы можете добавить в процесс сборки скрипт, например,

    touch AboutScreen.cpp
    

    Принудительно вызвать восстановление.

  2. Напишите сценарий оболочки, который вы запускаете перед каждой сборкой, которая генерирует файл заголовка, например

    #define BUILD_DATE  "2014-07-03 20:15"
    

    и запускайте этот скрипт перед каждой сборкой. Поскольку файл генерируется каждый раз новым, процесс сборки должен заметить, что он изменился, и автоматически запускать новую сборку экрана about или что-либо, показывающее дату / время сборки.

Другие вопросы по тегам