c语言 调试程序必备 c标准 宏 调试方法

来源:岁月联盟 编辑:猪蛋儿 时间:2012-07-04

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


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


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


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


__TIME__
源文件编译时间,格式微“hh:mm:ss”


__func__
当前所在函数名  

 


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


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

 


#include   <stdio.h>
#include   <stdlib.h>
void   why_me();
int   main()
{
        printf(   "The   file   is   %s./n ",   __FILE__   );
        printf(   "The   date   is   %s./n ",   __DATE__   );
        printf(   "The   time   is   %s./n ",   __TIME__   );
        printf(   "This   is   line   %d./n ",   __LINE__   );
        printf(   "This   function   is   %s./n ",   __func__   );
        why_me();
        return   0;
}


void   why_me()
{
        printf(   "This   function   is   %s/n ",   __func__   );
        printf(   "The   file   is   %s./n ",   __FILE__   );
        printf(   "This   is   line   %d./n ",   __LINE__   );
}

 


/*注意是C标准   本人在C/C++编译器上测试上述代码   发现在VC6.0下   __func__   没有定义*/


作者:lifeiaidajia

图片内容