macOS下Homebrew环境尖括号头文件引入路径搜索异常
macOS Homebrew环境下尖括号引入头文件的搜索优先级问题
在macOS的Homebrew环境中遇到一个问题:即使使用尖括号<>的头文件引入指令,引入系统头文件时却会先加载当前目录下的同名头文件。以下是复现该问题的最简示例:
$ cat test.c #include <time.h> time_t someTime; int main(void) { return 0; } $ cat time.h $ gcc test.c test.c:3:1: error: unknown type name 'time_t' 3 | time_t someTime; | ^~~~~~ test.c:2:1: note: 'time_t' is defined in header '<time.h>'; did you forget to '#include <time.h>?' 1 | #include <time.h> +++ |+#include <time.h> 2 |
根据《C程序设计语言》中的描述:
如果头文件名被尖括号
<和>包裹,文件搜索规则由具体实现定义。
我原本认为使用尖括号时不会搜索当前目录,或至少不会优先于系统路径搜索。请问这是macOS的默认行为,还是我的配置出现了问题?
内容的提问来源于stack exchange,提问作者August Karlstrom
相关产品推荐
相关产品推荐

