【C/C++】深入预处理之line
来源:互联网 发布:最好企业网络投资理财 编辑:程序博客网 时间:2024/04/30 08:55
一、预处理指令
(1)预处理指令的功能
预处理指令提供按条件跳过源文件中的节、报告错误和警告条件,以及描绘源代码的不同区域的能力。
(2)预处理器的作用
预处理器的主要作用就是把通过预处理的内建功能对一个资源进行等价替换
二、预处理包含的方面
预处理包括:
①文件包含
#include 包含一个源代码文件
②条件编译
#undef 取消已定义的宏
#if 如果给定条件为真,则编译下面代码
#ifdef 如果宏已经定义,则编译下面代码
#ifndef 如果宏没有定义,则编译下面代码
#elif 如果前面的#if给定条件不为真,当前条件为真,则编译下面代码
#endif 结束一个#if……#else条件编译块
#else 略
#error 停止编译并显示错误信息
③布局控制
#pragma 作用是设定编译器的状态或者指示编译器完成特定动作
#line 指令可以改变编译器用来指出警告和错误信息的文件号和行号。
④宏替换
#define 定义宏
三、用#line修改行号的具体例子
首先,我们要知道用__LINE__检测行号
未修改行号:
#include<stdio.h>int main(){printf("当前行号为:%d",__LINE__); return 0;}
运行结果
修改后:
#include<stdio.h>#line 66int main(){printf("当前行号为:%d",__LINE__); //修改后的行号为68 return 0;}
运行结果:
三、小结与注意!
LINE左边和右边各有两个'_'号
LINE对大小写是敏感的!
------>>>深入预处理
1 0
- 【C/C++】深入预处理之line
- C语言#line预处理
- C语言#line预处理
- 【C/C++】深入预处理
- C语言预处理#line、#error
- c语言之预处理
- C语言之预处理
- 《C预处理》之#ifndef
- C语言程序设计之预处理
- C之预处理
- C语言之预处理
- C语言之预处理
- C语言之预处理
- C语言之预处理
- C语言之预处理
- C语言之预处理
- Daily-C-Study(19):C语言#line预处理
- 深入理解C语言-04 预处理
- IOS NSMutableString(可变字符串)
- 子元素scroll父元素容器不跟随滚动JS实现
- 树莓派3安装ROS(机器人操作系统)
- 第一次打字成绩
- xampp下mysql初始密码的修改
- 【C/C++】深入预处理之line
- Gradle详解-Chapter 4. Using the Gradle Command-Line
- poj2785
- JAVA的IO操作(二)
- Linux 工具-------搜狗输入法for linux
- Spring环境搭建
- 动态事件绑定
- dm6446 初始化流程
- frontend http 前端名字定义问题