在test.c中写如下代码:

1 #include <stdio.h>

2

3 int main()

4 {

5     printf("line:%d\n", __LINE__);

6     return 0;

7 }

使用gcc编译 gcc -o test test.c

执行 ./test

结果 line:5

__LINE__ 是通过什么方式知道自己在第5行呢?

使用命令 gcc -E test.c -o test.i 进行预处理

查看test.i的最后几行代码如下:

535 # 412 "/usr/include/stdio.h" 2 3 4

536 # 2 "test.c" 2

537

538 int main()

539 {

540     printf("line:%d\n", 5);

541     return 0;

542 }

由此可见:在预处理阶段,__LINE__ 会被替换成自己所在行的行号。

转载于:https://www.cnblogs.com/jiexianzhu/p/10274455.html

C语言__LINE__实现原理相关推荐

  1. C语言函数调用的原理

    该博文为原创文章,未经博主同意不得转载,如同意转载请注明博文出处 本文章博客地址:https://cplusplus.blog.csdn.net/article/details/105088660 C ...

  2. C语言 __LINE__ - C语言零基础入门教程

    目录 一.__LINE__简介 二.__LINE__实战 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.__LINE__简介 ANS ...

  3. 设计c语言程序能否订火车票,C语言-购买火车票原理

    原标题:C语言-购买火车票原理 01 C语言-购买火车票原理 //今晚内容:C语言-购买火车票原理 //讲课老师:范志军 #include #include int a=50;//定义50张火车票 H ...

  4. c语言编译器下载 天天,简单C语言编译器(编译原理)

    简单C语言编译器(编译原理) (26页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.90 积分 #include#include#include# ...

  5. 易语言注册机原理介绍

    易语言注册机原理介绍: 介绍人:小白. 我个人总结下哈: 第一:你要又易语言基础,但是并不一定要专门去学习易语言.只需要学自己用到的就行了.这样的一般专业的教程都是有的. 第二: 就是你要有post基 ...

  6. java合一算法_Prolog语言的编译原理:合一算法

    Prolog语言的编译原理:合一算法 分类:软考 | 更新时间:2016-07-08| 来源:转载 Prolog是一种基于谓词演算的程序设计语言.Prolog是一种说明性语言,它的基本意思是程序员着重 ...

  7. 人类将可能操控AI?神经网络语言处理工作原理被破解

    近期,来自麻省理工学院计算机科学人工智能实验室(CSAIL)和卡塔尔计算研究所的研究人员已经通过新的解释技术,来分析神经网络做机器翻译和语音识别的训练过程. 神经网络通过分析大量的训练数据来学习并执行 ...

  8. 编译原理lr(0)c语言,关于编译原理:LR(1)LR(0)文法判断?

    "编译原理"是大学计算机类专业的一门主干课程.设置本课程的目的,在于系统的向学生讲述编译系统的结构.工程流程以及编译程序各组成部分的设计原理和实现技术,使学生通过本课程的学习,既掌 ...

  9. C语言数据类型从计算机原理的角度是怎样看待的?

    点击上方蓝字关注我,了解更多咨询 初学C语言,首先要接触的就是数据类型了,这也是学习任何一门语言所必须经历的阶段.很多同学在学习的时候不理解数据类型,因为对计算机及原理知之甚少.所以,在学习数据类型之 ...

最新文章

  1. .net ConfigurationSectionDesigner插件使用
  2. 心得14-hibernate的优化2-抓取(fetch)
  3. Python协程:从yield/send到async/await
  4. Visio修改默认字体样式
  5. boost::intrusive::slist用法的测试程序
  6. html5 实现坦克大战,HTML5实现坦克大战(一)
  7. flink on yarn模式出现The main method caused an error: Could not deploy Yarn job cluster问题排查+解决
  8. 渤海船舶职业学院计算机应用公司,渤海船舶职业学院
  9. 十一假期博客活动 好礼不断惊喜连连
  10. BZOJ4152 AMPPZ2014 The Captain 【最短路】【贪心】*
  11. C语言什么是结构体?初步学习C语言结构体三部曲
  12. java mongodb avg_Java-mongodb-AggregationOutput(分组、统计)
  13. AES加密解密C语言实现
  14. java实现按比例缩放图片技巧
  15. SSM出租车查询系统 毕业设计-附源码220915
  16. AW-Convlution:An Attention Module for Convolutional Neural Networks
  17. 电子邮件头Received分析
  18. VMware Workstation 12
  19. QQ和360正面交火了,有图为证
  20. wifi芯片行业信息汇总

热门文章

  1. android图片垂直居中,img图片在div里垂直居中的最佳解决方案
  2. mysql中主键的用法_MySQL中的主键以及设置其自增的用法教程
  3. git rebase 合并中间的提交
  4. Node.js babel
  5. javascript DOM 方法
  6. CentOS7配置rsync实现文件同步
  7. redis mysql 集群_Redis(五)、Redis数据库集群相关
  8. 自学c语言中相关知识,设计出医院住院管理系统.要求如下所述:,C语言课程设计题Z目.doc...
  9. python html5交互方式,python+Django(5)—回传至前端几种方式
  10. Python到底能干什么