printf("%s(%d)--:",__FILE__,__LINE__);

nimeia,ca 2008-11-24 11:24:13
今天看源码,考到了如下代码,有点不理解。代码如下:
#ifndef DBG_PRINTF(_x_)
#ifdef WEBDBG
#define DBG_PRINTF(_x_) \
do{ \
printf("%s(%d)--:",__FILE__,__LINE__);\
printf _x_; \
}while(0);
#else
#define DBG_PRINTF(_x_)
#endif
#endif
想请教各位大侠,printf("%s(%d)--:",__FILE__,__LINE__)这句话是什么意思?
还有代码中的“\",又是什么意思?
谢谢
...全文
2183 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
跑马的汉子_18 2012-07-03
  • 打赏
  • 举报
回复
终于了解了—__FILE__了
youyoubaihehua 2010-12-20
  • 打赏
  • 举报
回复
学习了
nimeia,ca 2008-11-24
  • 打赏
  • 举报
回复
谢谢大家!
cyj626 2008-11-24
  • 打赏
  • 举报
回复
up
ChamPagneZ 2008-11-24
  • 打赏
  • 举报
回复

#define DBG_PRINTF(_x_) \
do{ \
printf("%s(%d)--:",__FILE__,__LINE__);\
printf _x_; \
}while(0);

这样更方便阅读
lbh2001 2008-11-24
  • 打赏
  • 举报
回复
__FILE__ 是内置宏 代表源文件的文件名
__LINE__ 是内置宏,代表该行代码的所在行号
\ 是行连接符,会将下一行和前一行连接成为一行,即将物理上的两行连接成逻辑上的一行
ChamPagneZ 2008-11-24
  • 打赏
  • 举报
回复
通俗一点说,预定义太长了,换行写而已,

#define DBG_PRINTF(_x_) do{ printf("%s(%d)--:",__FILE__,__LINE__);printf _x_; }while(0);

__FILE__,__LINE__ 用来调试代码的
DarknessTM 2008-11-24
  • 打赏
  • 举报
回复
__FILE__ __LINE__ 是内置宏,会被替代成 文件名和行号
\ 是连接符,就是取消掉换行符

70,023

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧