代码之家  ›  专栏  ›  技术社区  ›  Falmarri

包括来自其他目录的C头文件

  •  0
  • Falmarri  · 技术社区  · 14 年前

    我的理解是 #include <header.h> 它在系统中包括目录,并且 #include "header.h" 它在本地目录中查找。但我只是在看python源代码,它使用 "header.h" 方法定义同级目录中的头。

    所以在 py3k/Python/ast.c 是的 #include "Python.h" . 但是 Python.h 是在 py3k/Include/Python.h

    这是不是我从未见过的一件普通的事情,没有参与过任何真正的大型C项目?我该怎么说,至少是我的IDE,进去看看 py3k/Include ?

    更新
    我知道如何告诉我的IDE包含它们,只是我太笨了,拼写错误。但我更感兴趣的是 "" 作品。这和 "" <> ?

    2 回复  |  直到 14 年前
        1
  •  5
  •   Georg Fritzsche    14 年前

    两者 #include <header> #include "header" 拜访 “实现定义的位置” ,也就是说,这取决于您正在使用的编译器及其设置。为了 #include <h> 它通常是一些标准的系统,包括目录和任何你配置的编译器来查看的东西。
    两个版本的区别在于 #包括“标题” 不支持或失败,将重新处理 “好像它读到了 #包括<页眉> " (C99, 第6.10.2条 ).

        2
  •  5
  •   Conrad Meyer    14 年前

    您需要以某种方式告诉编译器要搜索哪些目录——对于GCC,这意味着使用 -I 旗帜。查找IDE/编译器的组合。