• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
zuoanddie
博客园    首页    新随笔    联系   管理    订阅  订阅

C标准中一些预定义的宏,如__FILE__,__func__等

C标准中一些预定义的宏
   C标准中指定了一些预定义的宏,对于编程经常会用到。下面这个表中就是一些常常用到的预定义宏。
  宏
  意义
  __DATE__
  进行预处理的日期(“Mmm dd yyyy”形式的字符串文字)
  __FILE__
  代表当前源代码文件名的字符串文字
  __LINE__
  代表当前源代码中的行号的整数常量
  __TIME__
  源文件编译时间,格式微“hh:mm:ss”
  __func__
  当前所在函数名
  
   对于__FILE__,__LINE__,__func__这样的宏,在调试程序时是很有用的,因为你可以很容易的知道程序运行到了哪个文件的那一行,是哪个函数。
   下面一个例子是打印上面这些预定义的宏的。
#include 
#include 

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__ );
}

打印信息:
The file is debug.c.
The date is Jun  6 2012.
The time is 09:36:28.
This is line 15.
This function is main.
This function is why_me
The file is debug.c.
This is line 27.

posted @ 2019-07-22 01:38  zuoanddie  阅读(291)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3