C标准中指定了一些预定义的宏
__DATE__
进行预处理的日期(“mm dd yyyy”形式的字符串文字)
__TIME__
源文件编译时间,格式微“hh:mm:ss”
__FILE__
代表当前源代码文件名的字符串文字
__LINE__
代表当前源代码中的行号的整数常量
__FUNCTION__
当前所在函数名
" #"把宏参数变为一个字符串
" ##"把两个宏参数贴合在一起