预定义宏__LINE__解析

 

ProtothreadS的代码中遇到了一个特殊的符号__LINE__,搞了半天才明白是什么意思。在armccref.chm文件中的Predefined macros部分是这样描述的。

 

__LINE__numAlways set. It is the source line number of the line of code containing this macro.

 

其实就是代表代码的行号。

下面一段文章转自:http://hi.baidu.com/joshualmf1984

#line指令改变_ _ _LINE_ _ _和_ _ _FILE_ _ _的内容。_ _ _LINE_ _ _和_ _ _FILE_ _ _都是编译程序中预定义的标识符。标识符_ _ _LINE_ _ _的内容是当前被编译代码行的行号,_ _ _FILE_ _ _的内容是当前被编译源文件的文件名。#line的一般形式是:

 

    #line   number"filename"
其中,number是正整数并变成_ _ _LINE_ _ _的新值;可选的"filename"是合法文件标识符并变成_ _ _FILE_ _ _的新值。#line主要用于调试和特殊应用。
    例如,以下代码说明行计数从100开始。printf()语句显示行号102,因为该句是#line 100后面的第3行。
    #include <stdio.h>
  
    #line 100                              //设置行计数
    int main()                             // line 100
    {                                      // line 101
       printf("%d/n",_ _ _LINE_ _ _);      // line102

       return 0;
     }

 

现在我们对__LINE__的理解应该很清晰了吧。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值