реклама на сайте
подробности

 
 
> compile date-time, в gcc как?
demiurg_spb
сообщение Feb 11 2010, 14:19
Сообщение #1


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Следующая конструкция (проскакивало в рассылке недавно) работает в MSVC а в avr-gcc, при попытке инициализировать данные в eeprom:
error: initializer element is not constant
Что-нибудь посоветуете?
Код
#ifndef _COMPILE_DATE_TIME_
#define _COMPILE_DATE_TIME_

#define COMPILE_HOUR   (((__TIME__[0]-'0')*10) + (__TIME__[1]-'0'))
#define COMPILE_MINUTE (((__TIME__[3]-'0')*10) + (__TIME__[4]-'0'))
#define COMPILE_SECOND (((__TIME__[6]-'0')*10) + (__TIME__[7]-'0'))

#define COMPILE_YEAR ((((__DATE__ [7]-'0')*10+(__DATE__[8]-'0'))*10+(__DATE__ [9]-'0'))*10+(__DATE__ [10]-'0'))

#define COMPILE_MONTH ((__DATE__ [2] == 'n' ? (__DATE__ [1] == 'a' ?0 : 5) \
                     : __DATE__ [2] == 'b' ? 1 \
                     : __DATE__ [2] == 'r' ? (__DATE__ [0] == 'M'? 2 : 3) \
                     : __DATE__ [2] == 'y' ? 4 \
                     : __DATE__ [2] == 'l' ? 6 \
                     : __DATE__ [2] == 'g' ? 7 \
                     : __DATE__ [2] == 'p' ? 8 \
                     : __DATE__ [2] == 't' ? 9 \
                     : __DATE__ [2] == 'v' ? 10 : 11)+1)

#define COMPILE_DAY ((__DATE__ [4]==' ' ? 0 : __DATE__[4]-'0')*10+(__DATE__[5]-'0'))
#endif


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 20:00
Рейтинг@Mail.ru


Страница сгенерированна за 0.01356 секунд с 7
ELECTRONIX ©2004-2016