宏__DATA__日期以YYYYMMDD格式显示

以下代码是从网络上看到,经修改后目前可以正常使用。

#include  
  
#define YEAR ((((__DATE__ [7] - '0') * 10 + (__DATE__ [8] - '0')) * 10 \
+ (__DATE__ [9] - '0')) * 10 + (__DATE__ [10] - '0'))  
  
#define MONTH (__DATE__ [2] == 'c' ? 0 \
: __DATE__ [2] == 'b' ? 1 \
: __DATE__ [2] == 'r' ? (__DATE__ [0] == 'M' ? 2 : 3) \
: __DATE__ [2] == 'y' ? 4 \
: __DATE__ [2] == 'n' ? 5 \
: __DATE__ [2] == 'l' ? 6 \
: __DATE__ [2] == 'g' ? 7 \
: __DATE__ [2] == 'p' ? 8 \
: __DATE__ [2] == 't' ? 9 \
: __DATE__ [2] == 'v' ? 10 : 11)  
  
#define DAY ((__DATE__ [4] == ' ' ? 0 : __DATE__ [4] - '0') * 10 \
+ (__DATE__ [5] - '0'))  
  
#define DATE_AS_INT (((YEAR - 2000) * 12 + MONTH) * 31 + DAY)


  
void show_version()
{
    printf("version:2.1\n");
    printf("build time:%d-%02d-%02d\n",YEAR, MONTH + 1, DAY);
}


/** 
__L

你可能感兴趣的:(C/C++,软件调试)