ANSIC标准提供的预定义宏

来源:互联网 发布:2015nba体测数据 编辑:程序博客网 时间:2024/06/05 10:33

ANSIC标准定义了以下6种可供C语言使用的预定义宏:

   
       __LINE__                          在源代码中插入当前源代码行号  
       __FILE__                          在源代码中插入当前源代码文件名
       __DATE__                        在源代码中插入当前编译日期〔注意和当前系统日期区别开来〕  
       __TIME__                         在源代码中插入当前编译时间〔注意和当前系统时间区别开来〕        
       __STDC__                        当要求程序严格遵循ANSIC标准时该标识符被赋值为1。  
       __cplusplus
   


   标识符__LINE__和__FILE__通常用来调试程序;  
   标识符__DATE__和__TIME__通常用来在编译后的程序中加入一个时间标志,以区分程序的不同版本;

   这四个都是预编译宏,不是包含在头文件中的
   __FILE__是当前编译的文件的文件名 是一个字符串
   __TIME__是当前编译的文件的编译时间 格式是hh:mm:ss 是字符串
   __DATE__是当前编译的文件的编译日期 格式是Mmm:dd:yyyy 是字符串
   __LINE__是调用该宏语句所在的行数,是个十进制数

  用在宏定义中

  譬如:
  #define TEST (__FILE__" "__TIME__) /*这个括号没有也行的*/
  int main(void)
{
     printf(TEST);
     return 0;
}
假如该代码的文件名叫console.cpp
那么会输出文件名加编译时间
.\console.cpp 21:34:22

0 0
原创粉丝点击