struct _time{
char sec,min,hour,day,month,year;
};
// Makros um die Kompilierzeit als Startzeit einzusetzen
// (d.h. automatisches Stellen der Uhr beim „Betanken“)
#define YEAR ( __DATE__[9]*10+__DATE__[10]-528)
#define MONTH ( __DATE__[0]=='J'&&__DATE__[1]=='a'?1:\
__DATE__[0]=='F'?2:\
__DATE__[0]=='M'&&__DATE__[2]=='r'?3:\
__DATE__[0]=='A'&&__DATE__[1]=='p'?4:\
__DATE__[0]=='M'?5:\
__DATE__[0]=='J'&&__DATE__[2]=='n'?6:\
__DATE__[0]=='J'?7:\
__DATE__[0]=='A'?8:\
__DATE__[0]=='S'?9:\
__DATE__[0]=='O'?10:\
__DATE__[0]=='N'?11:\
__DATE__[0]=='D'?12:0)
#define DAY ((__DATE__[4]>='0'?__DATE__[4]:'0')*10+__DATE__[5]-528)
#define HOUR ( __TIME__[0]*10+__TIME__[1]-528)
#define MIN ( __TIME__[3]*10+__TIME__[4]-528)
#define SEC ( __TIME__[6]*10+__TIME__[7]-528)
EEMEM _time eetime={SEC,MIN,HOUR,DAY,MONTH,YEAR};
// Hier kommen rätselhafterweise nur Nullen an!! Bug im gcc??
EEMEM char more[]=__DATE__ "\0" __TIME__;
// Das hingegen klappt.
EEMEM _time ee2={1,2,3,4,5,6};
// Das auch.
_time jetzt={SEC,MIN,HOUR,DAY,MONTH,YEAR};
// Das klappt auch korrekt.
Detected encoding: UTF-8 | 0
|