{ANSI标准中说明了以下5个宏替换名,可以直接使用
__LINE__:当前编译的代码的行号
__FILE__:当前编译文件的源文件名
__DATE__:当前源程序创建的日期
__TIME__:当前源程序创建的时间
__STDC__:判断当前的编译器是否为标准C编译器,若是则返回值1
以上5个预定义宏都相对特殊,大写字母串的前后都需要下划线 [1]
。预定义宏在程序中可以直接使用
需要注意的是极个别的编译器可能会出现不支持以上预定义宏的情况。}
以上是百度百科上的描述,需要注意两点
1:直接使用:指的时不需要我们手动定义,直接在代码区使用标识符就可以了,
但是必须是包含C标准库的情况下,才可以直接使用。这点需要特别注意。
2:由于显示的原因打字出来,显示的是一个大横杆,其实是两个小横杠,这点在代码中看便一目了然
3注意;代码中的预定义宏名,除了__func__是小写,其他都是全部大写,至于为什么__func__是小写,这点我也不清楚。