Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1066674
  • 博文数量: 226
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 2504
  • 用 户 组: 普通用户
  • 注册时间: 2006-06-21 14:12
文章分类

全部博文(226)

文章存档

2011年(1)

2010年(2)

2009年(68)

2008年(4)

2007年(27)

2006年(124)

我的朋友

分类: C/C++

2006-11-12 00:04:38

C标准中指定了一些预定义的宏,对于编程经常会用到。下面这个表中就是一些常常用到的预定义宏。

 

__DATE__      进行预处理的日期(“Mmm dd yyyy”形式的字符串文字)

__FILE__       代表当前源代码文件名的字符串文字

__LINE__      代表当前源代码中的行号的整数常量

__TIME__      源文件编译时间,格式微“hhmmss

__func__        当前所在函数名 //C99新增,有些编译器尚未支持

 

  对于__FILE____LINE____func__这样的宏,在调试程序时是很有用的,因为你可以很容易的知道程序运行到了哪个文件的那一行,是哪个函数。

  下面一个例子是打印上面这些预定义的宏的。

 

#include

#include

void why_me();

int main()

{

    printf( "The file is %s. ", __FILE__ );

    printf( "The date is %s. ", __DATE__ );

    printf( "The time is %s. ", __TIME__ );

    printf( "This is line %d. ", __LINE__ );

    printf( "This function is %s. ", __func__ );

    why_me();

    return 0;

}

 

void why_me()

{

    printf( "This function is %s ", __func__ );

    printf( "The file is %s. ", __FILE__ );

    printf( "This is line %d. ", __LINE__ );

}

阅读(1457) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~