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

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

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

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

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

    • 第一步:优先在当前源文件所在的目录中查找头文件(即项目本地目录);
    • 第二步:如果本地目录未找到,再按照#include <filename.h>的规则,去系统标准目录中查找。
相关推荐
uoKent2 小时前
c++中的初始化列表
数据结构·c++
朔北之忘 Clancy2 小时前
第一章 顺序结构程序设计(3)
c++·算法·青少年编程·竞赛·教材·考级·讲义
a***59262 小时前
Linux命令创意大赛:高效组合大比拼
linux·运维·服务器
lkbhua莱克瓦242 小时前
Web前端开发核心认知与技术演进
开发语言·前端·笔记·javaweb
晚风吹人醒.2 小时前
YUM仓库部署+PXE远程部署+ks无人值守,安装配置全流程讲解与展示
linux·运维·yum·dhcp·无人值守·tftp·ks
FJW0208142 小时前
Python面向对象三大特征封装,继承,多态
开发语言·python
lbb 小魔仙2 小时前
【Java】Java 实战项目:从零开发一个在线教育平台,附完整部署教程
java·开发语言
IT永勇2 小时前
c++设计模式-代理模式
c++·设计模式·代理模式
七夜zippoe2 小时前
Python算法优化实战:时间与空间复杂度的艺术平衡
开发语言·python·算法·贪心算法·动态规划·复杂度