|
发表于 2020-6-30 14:29:58
|
显示全部楼层
看了大家的讨论,又学习了。先前也用到了__DATE__ 和 __TIME__,但没有放到指定位置。如果需要在boot中去读取版本信息,还是放在固定位置,并且在程序文件头的位置还是很/方便的。
INT32U year = ((__DATE__[7]-'0')*1000 + (__DATE__[8]-'0')*100 + (__DATE__[9]-'0')*10 + (__DATE__[10]-'0'));
INT32U month = ((MONTH_IS_JAN) ? 1 :(MONTH_IS_FEB) ? 2 :(MONTH_IS_MAR) ? 3 :(MONTH_IS_APR) ? 4 :(MONTH_IS_MAY) ? 5 :(MONTH_IS_JUN) ? 6 :(MONTH_IS_JUL) ? 7 :\
(MONTH_IS_AUG) ? 8 :(MONTH_IS_SEP) ? 9 :(MONTH_IS_OCT) ? 10 :(MONTH_IS_NOV) ? 11 :(MONTH_IS_DEC) ? 12 : 0);
INT32U day = (((__DATE__[4]>'0')?__DATE__[4]:'0')-'0')*10 + (__DATE__[5]-'0');
char* time = __TIME__;
time = time;
char* date = __DATE__;
date = date;
char strDatetime[32];
sprintf(strDatetime, "XXX:" __DATE__ " " __TIME__ ""); |
|