Войти
ПрограммированиеФорумОбщее

Актуальная дата и время компиляции в программе на C++ (комментарии)

#0
22:16, 10 июня 2009

Актуальная дата и время компиляции в программе на C++ (комментарии)

Это сообщение сгенерировано автоматически.

#1
22:16, 10 июня 2009

У меня это работает только для multibyte string (1 байт = 1 символ), а для UNICODE (2 байта = 1 символ, L"пример строки") не работает.

#2
23:20, 10 июня 2009

А как там дела со всякими инлайнами?

#3
1:43, 11 июня 2009

shasa

Все как обычно: _T(__DATE__)


Suslik

Функции имеют внешнее связывание - инлайн не пройдет.

#4
10:45, 2 ноя 2009

шурави
никто не умеет такое решать

#5
10:47, 2 ноя 2009

На самом деле, актуальная дата и время компиляции совсем неактуальны. Т.к. ровным счетом не несут никакой информации и более того - их легко получить из самого файла (ну если не рассматривать случаи целенаправленного изменения его свойств). Из номеров, связанных с проектом интерес представляет только номер ревизии VCS.

Прошло более 2 лет
#6
2:54, 9 ноя 2011

тут самое печальное, что он все равно не хочет собирать этот файл после удаления
LINK : fatal error LNK1181: cannot open input file 'build.obj'
типа был этот файл перед pre-build и ладно, компилировать его не надо типа.. найти бы еще способы..

#7
2:56, 9 ноя 2011

Удалять по post-build тоже не вариант.. т.к. допустим идет компиляция, файл скомпилировался, а другие нет - ошибка например. При следующей сборке файл обновлен не будет.

#8
3:47, 9 ноя 2011

antslag
Есть вариант - в пребилд поставить тулзу которая будет для .cpp-шника менять дату последней модификации на текущую.

#9
5:28, 9 ноя 2011

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

Была бы такая штука типа выполнении комманд, даже после ошибки компиляции, почему-то нету. Ну или при компиляции он бы сначала Prebuild выполнял, а уж потом искал какие файлы ему собирать надо, а он видимо сначала собирает инфу, потом prebuild делает.

Visual studio 2008, может на других конечно по-другому..

#10
2:10, 10 ноя 2011

antslag
Странно все это. А если закрыть .cpp в студии, поменять дату файла руками, и сделать билд?

#11
3:17, 10 ноя 2011

Руками если - конечно прокатывает. Ну или в post-build прописать, в следущей сборке соберет нужный файл (если postbuild выполнится, а при ошибках сборки он не выполнится). Вобщем печально это все :)

#12
3:32, 10 ноя 2011

antslag

В 2009-м году у меня это как-то работало :) Как в анекдоте, у меня еще много рецептиков. Попробуй поставить большую дату .cpp или .obj, скажем - 2050 год. Помню у студии был косяк - если перевести время назад, то билд постоянно дает ребилд из-за того что сорцы/обжи расцениваются как новые (требующие пересборки). А тут как раз этот косяк можно в фичу обернуть.

#13
3:56, 10 ноя 2011

Спасибо :) так вроде пересобирает, но там правда для сборки под другой платформой страшно орет и зацикливается makedepend "Warning: File has modification time 8.6e+04 s in the future", но это уже другая проблема, спасибо :)

ПрограммированиеФорумОбщее

Тема в архиве.