[C/C++]_[通过编译器获取编译日期]


1.在写软件的copyright时,总是需要copyright 2010-2012这样,这些日期每年都需要改,当然软件不多时,可以写死,但是软件一多时,修改就是一个庞大的工作量,而且如果要改的地方多的话,浪费的时间更多。而且肯定不能读取系统时间,系统时间是可以被用户改变的。现在可以通过编译器常量 __DATE__来获取年份,每次编译时都会获取编译时的日期。


#include <stdio.h>
#include <string.h>

const char* StringUtil::GetCompileYear()
{
    static const char* date = __DATE__;
    char* last = strrchr(date,' ');
    return last+1;
}

int main(int argc, char *argv[])
{
	printf("Hello, world .%s.\n",GetCompileYear());
	return 0;
}

输出:

Hello, world .2013.

__DATE__的全部输出:


Hello, world .Mar 12 2013.


你可能感兴趣的:(C++,__DATE__,编译器日期)