#include <filename.h> 和 #include “filename.h” 有什么区别?

核心区别:头文件查找顺序不同

这是两种包含方式的本质差异,编译器会遵循不同的查找规则:

  1. #include <filename.h>:系统标准查找路径 编译器会直接跳过当前源文件所在目录 ,优先去系统预设的标准头文件目录中查找头文件:

    • 常见标准目录:/usr/include/usr/local/include,以及编译器 / 开发环境自带的头文件目录(如 GCC 的内置目录)。
    • 查找逻辑:只在系统配置的标准路径中搜索,找不到则直接报 "头文件未找到" 编译错误,不会回溯当前项目目录。
  2. #include "filename.h":先本地,后系统 编译器遵循 "先本地、后系统" 的查找顺序,分两步:

    • 第一步:优先在当前源文件所在的目录中查找头文件(即项目本地目录);
    • 第二步:如果本地目录未找到,再按照#include <filename.h>的规则,去系统标准目录中查找。
相关推荐
我是一颗柠檬几秒前
【Java项目技术亮点】分库分表+数据路由策略:单表5000万后的架构升级方案
java·开发语言·分布式·架构
wu_ye_m3 分钟前
学习c语言第35天 函数声明和定义
c语言·开发语言·学习
njsgcs10 分钟前
c# solidworks 创建装配体工程图+bom
开发语言·c#·solidworks
Jurio.13 分钟前
开源 Codex Sticky:在终端 Codex CLI 长对话中始终固定底部输入框
linux·rust·github·开源软件·codex·codex cli
无足鸟ICT19 分钟前
【RHCA+】撤销和恢复撤销快捷键
linux
起床困难户57523 分钟前
条款20:协助完成返回值优化
c++
质造者24 分钟前
LangChain + Ollama + Tavily 实现旅游问答系统
linux·人工智能·python·langchain·rag
啦啦啦啦啦zzzz29 分钟前
算法总结(二分查找、双指针)
c++·算法
小林敲代码778829 分钟前
记录一下IDEA中很多变量变色的方案
java·开发语言·spring boot·idea
njsgcs39 分钟前
c# solidworks 工程图获得展开视图不在固定面螺纹特征的位置
开发语言·c#·solidworks