C++预处理(一) —— #include

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_35451572/article/details/85030714

C++的预处理(Preprocess),是指在C++程序源代码被编译之前,由预处理器(Preprocessor)对C++程序源代码进行的处理。这个过程并不对程序的源代码进行解析,但它把源代码分割或处理成为特定的符号用来支持宏调用。

预处理器的主要作用就是把通过预处理的内建功能对一个资源进行等价替换,最常见的预处理有:文件包含,条件编译、布局控制和宏替换4种。

  1. 文件包含:#include 是一种最为常见的预处理,主要是做为文件的引用组合源程序正文。
  2. 条件编译:#if,#ifndef,#ifdef,#endif,#undef等也是比较常见的预处理,主要是进行编译时进行有选择的挑选,注释掉一些指定的代码,以达到版本控制、防止对文件重复包含的功能。
  3. 布局控制:#progma,这也是我们应用预处理的一个重要方面,主要功能是为编译程序提供非常规的控制流信息。
  4. 宏替换: #define,这是最常见的用法,它可以定义符号常量、函数功能、重新命名、字符串的拼接等各种功能。

今天我们首先接受文件包含#include

#include 包含头文件

头文件通常以.h结尾,其 内容可使用#include预处理器指令包含到程序中,头文件中一般包含: 函数原型与全局变量,形式常有下面两种

#include <iostream>
#include "myheader.h"
符号 #include <> #include “”
索引先后顺序
优先级
查找位置 标准库头文件所在目录 当前源文件所在目录

区别是若 #include “” 查找成功,则遮蔽 #include <> 所能找到的同名文件;否则再按照 #include <> 的方式查找文件。另外标准库头文件都放在 #include <> 所查找的位置。

猜你喜欢

转载自blog.csdn.net/qq_35451572/article/details/85030714