C语言中#include 双引号“ ”与尖括号< >的区别

您所在的位置:网站首页 c语言中include C语言中#include 双引号“ ”与尖括号< >的区别

C语言中#include 双引号“ ”与尖括号< >的区别

2023-12-03 20:25| 来源: 网络整理| 查看: 265

C语言中#include 引号“ ”与尖括号< >的区别 1、预处理器与预处理指令1.1 、预处理器1.2、预处理指令 2、#include指令3、总结

1、预处理器与预处理指令 1.1 、预处理器

预处理器是一个小软件,它可以在编译前处理C程序,预处理器的主要作用包括宏定义,条件编译,文件包含等。 预处理器的输入是一个C程序,程序包含预处理指令,预处理器会执行这些指令,并在处理过程中删除这些指令。 预处理器的输出是另一个C程序,它是原程序编辑后的版本,不再包含指令。之后被直接交给编译器,编译器检查程序是否有错误,并将程序翻译为目标代码(机器指令)。

C程序 预处理器 修改后的C程序 编译器 目标代码

预处理器的行为由预处理指令控制,预处理指令是由#字符开头的一些命令。 #include指令,文件包含,它告诉预处理器打开一个特定的文件,将它的内容作为正在编译的文件的一部分包含进来。 例如:

#include //预处理器打开stdio.h文件,并将它的内容加到当前的程序中。 1.2、预处理指令

预处理指令以#符号开头,主要有以下三种: 1、宏定义:#define指令定义一个宏,#undef指令删除一个宏定义。 2、文件包含:#include指令,将一个指定文件的内容包含到程序中。 3、文件编译:#if,#ifdef,#ifndef,#elif,#else,#endif。

2、#include指令

#include指令主要有2种写法: 1、#include ,用于C语言库的头文件。 2、#include “文件名”,用于所有的文件,包括C语言库的头文件、自己编写的头文件。 这两种写法的主要区别在于编译器定位头文件的方式,大多数编译器遵循的规则为: #include :搜寻系统头文件所在的目录。 #include “文件名”:先搜寻当前目录,如果搜寻不到头文件,再去搜寻系统头文件所在目录。 3、#include 记号(上面2中写法的变种) 记号是任意预处理记号序列。预处理器会扫描这些记号,并替换遇到的宏。 例如:

#define STM32F103 “stm32f103.h” #include STM32F103 3、总结

1、#include ,主要用于包含系统头文件。 2、#include “文件名”,可用于所有文件,既可用于系统头文件,也可应用于自己编写的头文件。 3、如果#include ,预处理器可能无法找到包含文件。 4、所以直接用 #include “文件名” 一定不会出错。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3