当前位置: 首页 > news >正文

建设门户网站请示/人力资源培训网

建设门户网站请示,人力资源培训网,建设网站招标,免费发布推广信息软件前言 作者在刚开始学C语言的时候&#xff0c;都是用的< >去引用头文件&#xff0c;但在学习STM32的时候发现&#xff0c;程序中大量使用" "去引用双引号。 那么二者有什么区别呢? 无论使用哪种方式&#xff0c;头文件的目的都是为了引用你需要的文件供你编程使…

前言

        作者在刚开始学C语言的时候,都是用的< >去引用头文件,但在学习STM32的时候发现,程序中大量使用" "去引用双引号。

        那么二者有什么区别呢?

        无论使用哪种方式,头文件的目的都是为了引用你需要的文件供你编程使用,那么这里就有一个很重要的问题:程序怎么知道你的头文件在哪?

#include <xxx.h>

        当使用<>来包含头文件时,编译器直接在系统的标准库路径中查找头文件,不会在当前源文件所在目录中查找。这种方式主要用于标准库的头文件,如stdio.h、stdlib.h等。

        以DEV C++为例,点击工具->编译选项->目录,可以看到这就是编译器的默认的系统标准库路径。

#include "xxx.h"

        当使用双引号来包含头文件时,编译器首先会在当前源文件所在的目录中查找指定的头文件。如果找不到,编译器会按照系统设置的标准路径去查找。这种方式通常用于项目内部的头文件,即用户自定义的头文件。

        假设你的C语言文件(main.c)是在D盘的project文件夹中,同时你自定义了一个头文件myheader.h,放在C语言文件的同目录中的include文件夹中,结构如图:

D/    
└──project/├── main.c└── include/└── myheader.h

 你需要引用myheader.h,可以这样写:

#include "include/myheader.h"

     编译器从当前源文件所在目录既main.c所在目录开始寻找include文件夹下的myheader.h
 

 < >和" "主要区别

  1. 查询头文件的起始位置不一样,<>从系统目录中查找;""从源文件目录中开始查找
  2. 查询范围不一样,<>只查系统目录;""查完源文件目录后如果没找到目标文件,就会查一遍系统目录

< > 和" "的兼容问题

        < >搜索路径查找头文件

        我们知道的是" "可以在里面写路径,去查找源文件目录下的自定义头文件;但很少人知道的是,< >也可以写入路径,去查找系统目录下头文件,但为什么不用呢?

因为<>会将系统目录下的内容全部扫描一遍,因此不需要写路径。

        但在某些情况下,也可以在尖括号中指定路径来引用头文件。这通常取决于编译器的实现和配置。

  1. 编译器支持:某些编译器可能允许在尖括号中指定相对路径或绝对路径来引用头文件。然而,这并不是标准做法,且可能不具有可移植性

  2. 项目配置:在大型项目中,可能会通过配置文件或编译选项来指定额外的头文件搜索路径。在这种情况下,即使使用尖括号,编译器也可能会在这些指定的路径中查找头文件。

  3. 示例:假设有一个自定义头文件mycustomlib.h位于项目的include/custom目录下,并且该目录已经被添加到编译器的包含路径中。那么,可以使用尖括号来引用这个头文

#include <custom/mycustomlib.h>

        【注意】这里最重要的是< >搜索路径,必须将目录添加到编译器包含的路径中才允许

        " "查找系统库头文件

        之前提到过," "会先查源文件目录,没找到头文件之后就会查系统库,因此" "是兼容< >的功能的,例如:

#include "stdio.h"

 这是被允许的,也可以找到这个头文件,但相对< >而言就会慢一点

总结

        无论是哪种方式,其根本目的还是为了找到相应的头文件,<>常用于系统库头文件的引用,""常用于自定义头文件,其本质区别在于搜索头文件的目录上。两者并非一成不变的,可以根据使用者的习惯灵活使用。

http://www.jmfq.cn/news/5309191.html

相关文章:

  • 论坛网站建设视频/百度ai搜索引擎
  • 安徽省建设工程资料上传网站/网站seo查询
  • net的网站建设/下载优化大师并安装
  • 武汉网站建设优化/百度收录查询工具官网
  • 上街免费网站建设/东莞做网络推广的公司
  • 网站建设规范布局有几部分/seo网站诊断报告
  • 安康网站建设小程序/百度allin 人工智能
  • 建设个人网站需要多少钱/大一html网页制作作业简单
  • 怎样做手机网站建设/互联网推广怎么找渠道
  • 黄骅广信建设集团网站/网站优化的方式有哪些
  • 网站建设与设计论文/百度首页
  • 网站建设 食品/百度快照什么意思
  • 理解电子商务网站建设与管理/seo优化包括哪些内容
  • 江苏省宿迁市建设局网站/郑州seo顾问阿亮
  • 乌市建设委员会官方网站/放单平台大全app
  • 多用户商城网站建设二次开发/百度地图网页版
  • 深圳市富通建设工程有限公司网站/百度关键词优化软件网站
  • 品牌网站建设绿d茶/广告信息发布平台
  • 网站建设套餐联系方式/兔子bt樱桃搜索磁力天堂
  • 昆山建设监察大队网站/平台运营推广方案
  • 新疆网站建设网络推广服务/网站建设选亿企网络
  • 凡客诚品网站建设策划书/seo技术平台
  • 南平建设集集团网站/淘宝关键词排名怎么查询
  • 网站建设使用的工具/百度广告怎么做
  • 网站建设是网络工程师吗/马鞍山网站seo
  • 衢州市城乡建设局网站/怎么去做网络推广
  • 西宁市建设局网站/天津百度seo排名优化
  • 绵阳网站建设费用/深圳营销型网站开发
  • 政府网站建设和信息公开/常用的网络营销推广方法有哪些
  • 如何网站建设目标/如何自己建立一个网站