Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

если кому-то интересно - сделал так

Отправлено koyodza 20 марта 2009, г. 19:16
В ответ на: как в прект на С вставить дату и время компиляции? отправлено пользователем koyodza 20 марта 2009, г. 14:53

в IDE в свойствах проекта указал запускать CreateUtil.bat перед компиляцией. Сам файл CreateUtil.bat выглядит так:
------------------
@if exist FWbuild.h del FWbuild.h
GetLocalTime.bat > FWbuild.h
------------------
Файл GetLocalTime.bat выглядит так:
------------------
@echo off
@rem echo %date:~8,2%%date:~3,2%%date:~0,2%
@rem echo %time:~0,2%%time:~3,2%%time:~6,2%

set /a "cur_year=(%date:~8,1%*10)+%date:~9,1%"
set /a "cur_month=(%date:~3,1%*10)+%date:~4,1%"
set /a "cur_day=(%date:~0,1%*10)+%date:~1,1%"
set /a "cur_hour=(%time:~0,1%*10)+%time:~1,1%"
set /a "cur_min=(%time:~3,1%*10)+%time:~4,1%"
set /a "cur_sec=(%time:~6,1%*10)+%time:~7,1%"

set /a "n_day = %cur_day% - 1"
if %cur_month% GTR 1 set /a "n_day += 31"
if %cur_month% GTR 2 set /a "n_day += 28"
if %cur_month% GTR 3 set /a "n_day += 31"
if %cur_month% GTR 4 set /a "n_day += 30"
if %cur_month% GTR 5 set /a "n_day += 31"
if %cur_month% GTR 6 set /a "n_day += 30"
if %cur_month% GTR 7 set /a "n_day += 31"
if %cur_month% GTR 8 set /a "n_day += 31"
if %cur_month% GTR 9 set /a "n_day += 30"
if %cur_month% GTR 10 set /a "n_day += 31"
if %cur_month% GTR 11 set /a "n_day += 30"

set /a "n_vy = %cur_year% %% 4"
if %cur_month% LEQ 2 goto JANFEB
if %n_vy% NEQ 0 goto JANFEB
set /a "n_day += 1"
:JANFEB

set /a "n_day += (%cur_year% + 3) / 4"
set /a "n_day += %cur_year% * 365"

set /a "n_sec = (%cur_hour% * 3600) + (%cur_min% * 60) + %cur_sec%"

@echo #define FIRMWARE_BUILD_DATE %n_day%
@echo #define FIRMWARE_BUILD_TIME %n_sec%
------------------
в результате получаю файл FWbuild.h с двумя строчками:
#define FIRMWARE_BUILD_DATE // день считая от 1.1.2000г
#define FIRMWARE_BUILD_TIME // секунда считая с 00:00.00 текущего дня

В своем проекте делаю #include "FWbuild.h" и использую эти два значения как хочу.

На всякий случай (чтобы случайно не откомпилить с временным файлом и неправильными настройками проекта) после компиляции проекта запускается DeleteUtil.bat (прописал в свойствах проекта), который состоит из одной строчки:
------------------
@if exist FWbuild.h del FWbuild.h
------------------
Работает


Составить ответ | Вернуться на конференцию.

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 56:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru