找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2390|回复: 0
收起左侧

include包含头文件的语句中,双引号和尖括号的区别是什么?

[复制链接]
ID:128229 发表于 2016-6-27 22:11 | 显示全部楼层 |阅读模式
#include <>格式:引用标准库头文件,编译器从标准库目录开始搜索  

#incluce ""格式:引用非标准库的头文件,编译器从用户的工作目录开始搜索

双引号表示先在程序源文件所在目录查找,如果未找到则去系统默认目录查找,通常用于包含程序作者编写的头文件;

尖括号表示只在系统默认目录或者括号内的路径查找,通常用于包含系统中自带的头文件;尖括号:

在包含文件目录中去查找(包含目录是由用户在设置环境时设置的),而不在源文件目录去查找; 双引号:

首先在当前的源文件目录中查找,若未找到才到包含目录中去查找。  详解:  

预处理器发现 #include 指令后,就会寻找后跟的文件名并把这个文件的内容包含到当前文件中。被包含文件中的文本将替换源代码文件中的#include指令,就像你把被包含文件中的全部内容键入到源文件中的这个位置一样。  #include 指令有两种使用形式  

#include <stdio.h> 文件名放在尖括号中  #include “mystuff.h” 文件名放在双引号中   

尖括号< 和> 括起来表明这个文件是一个工程或标准头文件。查找过程会检查预定义的目录,我们可以通过设置搜索路径环境变量或命令行选项来修改这些目录。  

如果文件名用一对引号括起来则表明该文件是用户提供的头文件,查找该  

文件时将从当前文件目录(或文件名指定的其他目录)中寻找文件,然后再在标准位置寻找文件。  为什么要包含文件呢?  

因为这些文件包含了编译器所需的信息。例如,stdio.h文件通常包含EOF,NULL,  getchar()和putchar()的定义。  

包含大型头文件并不一定显著增加程序的大小。很多情况下,头文件中的内容是编译器产生最终代码所需的信息,而不是加到最终代码里的具体语句。  

被包含的文件还可以含有#include 指示符,由于嵌套包含文件的原因,一个头文件可能会被多次包含在一个源文件中,条件指示符可防止这种头文件的重复处理。



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表