当前位置: 首页 > 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.lryc.cn/news/610420.html

相关文章:

  • windows双系统下ubuntu20.04安装教程
  • HTTPS有哪些优点
  • Jeston + TensorRT + Realsense D435i + ROS noetic + Yolo11 各版本模型目标检测
  • Flink CDC 介绍
  • Field and wave electromagnetics 复习
  • 正点原子阿波罗STM32F429IGT6移植zephyr rtos(四)---在独立的应用工程里使用MPU6050
  • 【Java】一篇详解HashMap的扩容机制!!
  • SparkSQL—sequence 函数用法详解
  • 四、Linux 的实用操作
  • wpf Image 转 90 度
  • 华为OD机考2025C卷 - 分配土地 (Java Python JS C++ C )
  • 复合机器人抓取精度怎么测量?
  • Tableau筛选器所有值与总和的差异:同一度量,两重世界
  • 【教学类-52-17】20250803动物数独_空格尽量分散_只有一半关卡数(N宫格通用版3-10宫格)0图、1图、2图、6图、有答案、无答案 组合版24套
  • 内网有人下载导致网速很慢怎么找出来?
  • Vue3核心语法进阶(生命周期)
  • MySQL InnoDB 表数据结构存储方式详解
  • 川翔云电脑:引领开启算力无边界时代
  • 数学 理论
  • 哪些企业需要私有化部署?有没有推荐的私有化im
  • 段落注入(Passage Injection):让RAG系统在噪声中保持清醒的推理能力
  • [Shell编程] 零基础入门 Shell 编程:从概念到第一个脚本
  • 【RH124知识点问答题】第8章 监控和管理 Linux 进程
  • Linux 磁盘管理详解:分区、格式化与挂载全流程指南
  • 内联函数:提升效率的空间换时间艺术
  • C++面试题及详细答案100道( 01-10 )
  • mongodb源代码分析创建db流程分析
  • 【论文阅读】ACE: Explaining cluster from an adversarial perspective
  • Makefile文件写法模板
  • 数据与模型优化随机森林回归进行天气预测