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

ubuntu 20.04 C和C++的标准头文件都放在哪个目录?

在 Ubuntu 20.04 中,C 和 C++ 标准头文件的存放目录主要由编译器(如 GCC)的安装路径决定,通常分为以下两类:

1. C 标准头文件

C 语言的标准头文件(如 <stdio.h><stdlib.h> 等)默认存放在 ​系统公共头文件目录​:

/usr/include

部分与 C 库(如 glibc)相关的扩展头文件可能存放在子目录中(例如 /usr/include/linux 是 Linux 内核头文件,但属于系统调用相关,非 C 标准)。

2. C++ 标准头文件

C++ 的标准头文件(如 <iostream><vector> 等)由 GCC 的 C++ 编译器(g++)提供,存放路径与 GCC 版本强相关。Ubuntu 20.04 默认安装的 GCC 版本为 ​9.x,因此 C++ 标准头文件的主要目录为:

/usr/include/c++/9

若系统中安装了其他版本的 GCC(如通过 sudo apt install gcc-10 安装 GCC 10),则对应版本的头文件会存放在:

/usr/include/c++/10  # 以 GCC 10 为例

如何验证头文件路径?​

可以通过编译器的 -v(详细模式)参数查看头文件搜索路径:

查看 C 头文件搜索路径

执行以下命令,输出中的 #include <...> search starts here: 部分会列出 C 标准头文件的搜索路径:

gcc -v -E -x c /dev/null

典型输出片段:

...
#include <...> search starts here:/usr/lib/gcc/x86_64-linux-gnu/9/include/usr/local/include/usr/include/x86_64-linux-gnu/usr/include
...
查看 C++ 头文件搜索路径

执行以下命令,输出中的 #include <...> search starts here: 部分会列出 C++ 标准头文件的搜索路径:

g++ -v -E -x c++ /dev/null

典型输出片段:

...
#include <...> search starts here:/usr/lib/gcc/x86_64-linux-gnu/9/include/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed/usr/include/x86_64-linux-gnu/usr/include/c++/9/usr/include/c++/9/x86_64-linux-gnu/usr/include
...

总结

  • C 标准头文件​:主要在 /usr/include,部分依赖 GCC 运行时库的头文件可能在 /usr/lib/gcc/x86_64-linux-gnu/<版本>/include(如 /usr/lib/gcc/x86_64-linux-gnu/9/include)。
  • C++ 标准头文件​:主要在 /usr/include/c++/<GCC版本>(如 /usr/include/c++/9),同时包含版本相关的子目录(如 x86_64-linux-gnu)。

若需确认具体版本,可通过 g++ -v 查看当前默认 GCC 版本,或通过 ls /usr/include/c++ 列出所有已安装的 C++ 标准头文件版本目录。

惠州西湖

http://www.dtcms.com/a/315091.html

相关文章:

  • 安卓逆向(基础①-Google Pixel-Root)
  • <PhotoShop><JavaScript><脚本>基于JavaScript,利用脚本实现PS软件批量替换图片,并转换为智能对象?
  • 【拓扑序 时间倒流法】P7077 [CSP-S2020] 函数调用|省选-
  • 嵌入式开发入门——电子元器件~电容
  • RLCraft开服踩坑记录
  • 防火墙web页面练习
  • 使用AWS for PHP SDK实现Minio文件上传
  • Centos7离线安装Mysql8.0版本
  • 政务云数智化转型:灵雀云打造核心技术支撑能力
  • HarmonyOS 多屏适配最佳实践:基于 ArkUI 的响应式 UI 方案
  • 在CentOS 7上安装配置MySQL 8.0完整指南
  • [Oracle] TO_NUMBER()函数
  • C 语言结构体与 Java 类的异同点深度解析
  • Hexo - 免费搭建个人博客07 - 添加右上角的“目录”
  • 《Python 实用项目与工具制作指南》· 2.4 pip
  • 流量见顶时代,知识付费 IP 的破局逻辑
  • 我的世界进阶模组开发教程——附魔(2)
  • 使用 IntelliJ IDEA + Spring JdbcTemplate 操作 MySQL 指南
  • 【无标题】文件IO与标准IO的区别
  • LeetCode 分类刷题:16. 最接近的三数之和
  • Vue 影院组件
  • BLIP 和 BLIP2 的对比
  • 如何实现人机协同与人工智能的深度协同发展?
  • 【龙芯99派新世界】2.buildroot使用,连接wifi
  • 英伟达Llama - Nemotron 253B:大模型训练范式的革新与展望
  • C++多线程同步:深入理解互斥量与事件机制
  • 情感AI在医疗领域的核心应用潜力与创新方向
  • 02324-离散数学-速记宝典
  • WSL安装Ubuntu与Docker环境,比VMware香
  • Sparse4D系列算法:迈向长时序稀疏化3D目标检测的新实践