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

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

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

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

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

    • 第一步:优先在当前源文件所在的目录中查找头文件(即项目本地目录);
    • 第二步:如果本地目录未找到,再按照#include <filename.h>的规则,去系统标准目录中查找。
相关推荐
播播资源2 分钟前
CentOS系统 + 宝塔面板 部署 OpenClaw源码开发版完整教程
linux·运维·centos
小涛不学习3 分钟前
手写线程池(从0实现 ThreadPoolExecutor 核心思想)
windows
源远流长jerry17 分钟前
在 Ubuntu 22.04 上配置 Soft-RoCE 并运行 RDMA 测试程序
linux·服务器·网络·tcp/ip·ubuntu·架构·ip
Sunshine for you20 分钟前
C++中的职责链模式实战
开发语言·c++·算法
twc82934 分钟前
大模型生成 QA Pairs 提升 RAG 应用测试效率的实践
服务器·数据库·人工智能·windows·rag·大模型测试
@我漫长的孤独流浪34 分钟前
Python编程核心知识点速览
开发语言·数据库·python
lay_liu38 分钟前
Linux安装redis
linux·运维·redis
qq_4160187241 分钟前
C++中的状态模式
开发语言·c++·算法
2401_8845632442 分钟前
模板代码生成工具
开发语言·c++·算法
code 小楊1 小时前
yrb 1.5.0 正式发布:Python 极简国内下载加速与全景可视化终端体验!
开发语言·python