gcc - gcc 是否递归搜索 CPATH?

标签 gcc include

在 Linux 系统上,gcc 是否递归搜索 CPATH 环境变量中声明的路径,还是需要显式指定每个 Includes 子目录?

最佳答案

CPATH指定要搜索的目录列表。编译器精确搜索这些目录,而不是任何子目录(因此没有递归搜索)。也就是说,给定的名称为 #include "somedir/header.h" ,它将在通过 -I 指定的目录中查找和-isystem并通过 CPATH 指定并将添加/somedir/header.h到每个条目 - 仅此而已。

这是合理的。如果它进行递归搜索,您就必须担心文件的顺序是否正确,例如 <time.h> (因为还有 <sys/time.h> 并且可以通过递归搜索找到它)。

关于gcc - gcc 是否递归搜索 CPATH?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30949458/

相关文章:

php - 如何使用 PHP 递归地包含文件夹中具有特定名称的所有文件?

c++ - 使用 C++ 编译器包含 C 头文件时的警告

c - 使用 C 宏进行结构打包

c - 将数据放入 .text 时会出现汇编器警告和 gcc 警告

Cygwin 的 Linux 交叉编译器——无法在线找到 Linux Cygwin 编译器工具链

c++ - 奇怪的包含依赖

android - findViewById在<include> d View 内的LinearLayout上返回null

c - 试图从 linux 内核理解一段内联臂程序集

linux - 用于了解可执行文件的文本、BSS 等字段的命令

javascript - 通过PHP文件include vs script src包含外部脚本有什么好处或弊端?