小兔网

顾名思义,预定义宏就是已经预先定义好的宏,我们可以直接使用,无需再重新定义。

ANSI C 规定了以下几个预定义宏,它们在各个编译器下都可以使用:

  • __LINE__:表示当前源代码的行号;
  • __FILE__:表示当前源文件的名称;
  • __DATE__:表示当前的编译日期;
  • __TIME__:表示当前的编译时间;
  • __STDC__:当要求程序严格遵循ANSI C标准时该标识被赋值为1;
  • __cplusplus:当编写C++程序时该标识符被定义。


预定义宏演示:

 
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main() {
  4. printf("Date : %s\n", __DATE__);
  5. printf("Time : %s\n", __TIME__);
  6. printf("File : %s\n", __FILE__);
  7. printf("Line : %d\n", __LINE__);
  8. system("pause");
  9. return 0;
  10. }

VS下的输出结果:
Date : Mar  6 2016
Time : 11:47:15
File : main.c
Line : 8

C-Free 5.0 下的输出结果:
Date : Mar  6 2016
Time : 12:12:59
File : C:\Users\mozhiyan\Desktop\demo.c
Line : 8