新浦京81707con > 首页 > include包含文件查找的顺序,include包含头文件的语

原标题:include包含文件查找的顺序,include包含头文件的语

浏览次数:57 时间:2020-05-05

一.#include指令

1.include基本概念

#include 是C语言的预管理指令之一,所谓预管理,就是在编写翻译以前做的拍卖,预管理指令常常以 # 开头

#include 指令后边会跟着多个文书名,预微型机开掘 #include 指令后,就能基于文件名去查找文件,并把这么些文件的内容蕴含到眼下文件中。被含有文件中的文本将替换源文件中的 #include 指令,犹如你把被含有文件中的全部内容拷贝到那么些 #include 指令所在的岗位相符。所以率先行指令的效率是将stdio.h文件之中的有所内容拷贝到第一行中。

要是被含有的文书进行名叫.h,大家誉为"头文件"(Header File卡塔尔(قطر‎,头文件能够用来声称函数,要想选择那几个函数,就必得先用 #include 指令包涵函数所在的头文件

#include 指令不止限于.h头文件,可以包括别的编写翻译器能识其余C/C 代码文件,包涵.c、.hpp、.cpp等,以致.txt、.abc等等都得以

2.文件蕴含的格式

当蕴涵大家友好写的文本就是应用 #include "" 当包罗系统ﰀ供头文件的时候,就是用#include <>

示例:

#include <stdio.h>

#include "one.h"

注意:include 语句之后不要求加";"(因为#include它使三个预管理指令,不是一个口舌State of Qatar

3.#import""与#import<>有什么分别:

两侧的分别在于:当被include的公文路线不是相对路线的时候,有例外的搜寻顺序。

对此利用双引号""来include文件,寻找的时候按以下依次:

先在这里条include指令的父文件所在文件夹内寻觅,所谓的父文件,正是那条include指令所在的文书

一旦上一步找不到,则在父文件的父文件所在文件夹内寻找;

若是上一步找不到,则在编写翻译器设置的include路线内搜寻;

假使上一步找不到,则在系统的include境遇变量内搜寻

对此利用尖括号<>来include文件,找寻的时候按以下依次:

在编写翻译器设置的include路线内找出;

一经上一步找不到,则在系统的include境况变量内找出

从microsoft网址上找到有关#include Directive (C/C ))的有关问题解释如下:

include包罗头文件的言辞中,双引号和尖括号的界别

 

二.#import和#include区别

#import与#include的好像,都以把其前边的文本拷贝到该指令所在的地点

#import能够自动制止再次导入

#import <> 用于满含系统文件

#import""用于蕴含本项目中的文件

#import, 告诉编写翻译器找到并拍卖名叫Foundation.h文件,那是一个系统文件,#import表示将该公文的音信导入到程序中

The #include directive tells the preprocessor to treat the contents of a specified file as if those contents had appeared in the source program at the point where the directive appears.

#include <>格式:引用标准库头文件,编写翻译器从标准库目录开端搜索

#incluce ""格式:引用非标准库的头文件,编写翻译器从顾客的干活目录最早查找

 

预微型机发现 #include 指令后,就能够招来后跟的文件名并把那么些文件的剧情满含到日前文件中。被含有文件中的文本将替换源代码文件中的#include指令,就好像你把被含有文件中的全部内容键入到源文件中的这几个职务同样。 

#include 指令有二种选择方式 
#include <stdio.h> 文件名放在尖括号中 
#include “mystuff.h” 文件名放在双引号中 

尖括号< 和> 括起来表达这一个文件是多个工程或规范头文件。查找进程会检查预约义的目录,大家能够透过安装寻觅路线情形变量或指令行选项来修改这几个目录。 
若果文件名用一对引号括起来则申明该文件是客户提供的头文件,查找该 
文本时将从当前文件目录(或文件名钦点的别样目录)中查找文件,然后再在行业内部地方寻找文件。 

Syntax Form

Action

Quoted form

The preprocessor searches for include files in the following order:

  1. In the same directory as the file that contains the #include statement.

  2. In the directories of any previously opened include files in the reverse order in which they were opened. The search starts from the directory of the include file that was opened last and continues through the directory of the include file that was opened first.

  3. Along the path specified by each /I compiler option.

  4. Along the paths specified by the INCLUDE environment variable.

Angle-bracket form

The preprocessor searches for include files in the following order:

  1. Along the path specified by each /I compiler option.

  2. When compiling from the command line, along the paths that are specified by the INCLUDE environment variable.

依照上述,二者的界别在于:当被include的文书路线不是相对路线的时候,有分歧的搜索顺序。对于使用双引号“”带有的include文件,寻找的时候按以下依次:

 

1.在含蓄当前include指令的文书所在的文书夹内寻找;

2.假若上一步找不到,则在事情发生前已经运用include指令张开过的文本所在的公文夹内搜索,假使已经有多个被include的文件,则依据它们被张开的反倒顺序去寻觅;

本文由新浦京81707con发布于首页,转载请注明出处:include包含文件查找的顺序,include包含头文件的语

关键词: 新浦京81707con ios 区别 import C++/C

上一篇:K线三方库__ZXKline,tableView之提前计算行高

下一篇:没有了