关于Linux系统中用debug宏代替printf的一些小细节

        今天在做关于Linux的一个小项目,其中要用到debug宏,我在百度上找到相关C语言定义,然后移植到该项目工程中的一个H文件中,该项目有很多C文件,都需要用到此宏,因为我的宏定义在一个头文件中,故我只需在需要用到的C文件中包含此头文件即可,没错,其他文件都没错,唯独其中一个,当我用debug宏代替printf调试输出时,总是报错:error: 'stderr' undeclared (first use in this function) Each undeclared identifier is reported only once for each function it appears in.嗯,乍眼一看很简单就是此宏相关的stderr没定义嘛,于是我看了,奇怪了,明明包含了定义此宏的头文件啊,而且其他调用的地方其他文件都没报错,唯独这个地方编译不过去,然后百度,但是也是没有找到对应的解决方法,于是我就干脆仔仔细细从头开始检查,结果终于发现报错的文件和其他文件的不同之处在哪了,原来是我没有包含<stdio.h>头文件,所以导致输出信息中的'stderr'总是报错说没定义,这个错误很小,但是我个人觉得很难发现,还是很致命的,也由此说明细节还是非常重要的,一定不要小看。好了,废话有点多,希望能帮到那些遇到和我一样的问题的朋友,祝大家学习愉快。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值