当前位置: 首页 > news >正文

C语言中的预处理指令的其中之一——#line

目录

  • 开头
  • 1.什么是预处理指令——#line?
  • 2.预处理指令——#line的实际应用
    • 改__FILE__宏
    • 改__LINE__宏
    • 改__FILE__宏和__LINE__宏
    • ……
  • 下一篇博客要说的东西

开头

大家好,我叫这是我58。今天,我们要学一下关于C语言中的预处理指令的其中之一——#line的一些知识。

1.什么是预处理指令——#line?


预处理指令——#line,是一个用来改变__LINE____FILE__的预处理指令,本质上其实没有什么太大的用处,预处理指令——#line的构造是这样的:#line digit-sequence ["filename"]1,其中,必须要有的digit-sequence用来会改变__LINE__宏的内容,最低为0,最高为2147483647,相当于一个INT_MAXdigit-sequence这个值不能为0,也不能为负数,因为行号一般是从1开始逐渐增长的,不可能会出现0或者负数,所以,这就是digit-sequence这个值不能为0,也不能为负数的原因,而filename字符串则用来修改宏__FILE__的值,并且文件名你想怎样取就怎样取,不取也是可以的,像\033[33mm\033[0m或者__LINE__这样的字符串都是可以的,当然,空字符串也行,总之,任何你想到的字符串都可以放到这里面,当然digit-sequencefilename这两个参数都有共同的限制,那就是,这两个参数只能代入字面常量或者某一个宏,要不然就会报错。这就是C语言中的其中一个预处理指令——#line,也是一个简简单单的预处理指令,狗看了都会懂。

2.预处理指令——#line的实际应用

改__FILE__宏

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#line __LINE__ "尼嚎我是渗进.c"
int main() {printf("%d %s", __LINE__, __FILE__);return 0;
}

改__LINE__宏

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#define A 114514
#line A
int main() {printf("%d %s", __LINE__, __FILE__);return 0;
}

改__FILE__宏和__LINE__宏

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#define A 88
#define B "Hello,world.c"
#line A B
int main() {printf("%d %s", __LINE__, __FILE__);return 0;
}

……

下一篇博客要说的东西

C语言中的预处理指令中的其中一对——#ifdef#ifndef

在这里插入图片描述


  1. 选自C语言中的预处理指令——#line的简介 ↩︎


http://www.mrgr.cn/news/17322.html

相关文章:

  • 《JavaEE进阶》----7.<SpringMVC实践项目:【登录页面的验证】>
  • 产品入门篇笔记
  • 系统编程--进程间通信
  • 嵌入式Linux C应用编程指南-进程、线程(速记版)
  • ECC密码与RSA
  • 精度:Fine-Grained Egocentric Hand-Object Segmentation
  • 第三篇——数学的可预见性:如何用推理走出认知盲区?
  • 安装python软件
  • 设置开机自动挂载硬盘
  • 树状数组C/C++实现
  • ACL学习笔记
  • vue , 微信小程序 , uni-app绑定变量属性
  • 解决Linux安装epel源提示没有可用安装包
  • openGuass之CTE Reuse
  • scrapy 爬取微博(一)【最新超详细解析】:创建微博爬取工程
  • 003.精读《MapReduce: Simplified Data Processing on Large Clusters》
  • Promise 工具箱:手写实现静态方法的完全指南
  • Mysql性能优化之自适应索引
  • 计算之魂:持续于正确的因果链(一)
  • MySQL 锁