【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