包含来自其他目录的C头文件
我的理解是,通过执行#include <header.h>
它在系统中查找包含目录,并且它在本地目录中查找#include "header.h"
。但我只是看着python源代码,它使用"header.h"
方法来定义兄弟目录中的标题。包含来自其他目录的C头文件
所以在py3k/Python/ast.c
它确实是#include "Python.h"
。但Python.h
是在py3k/Include/Python.h
这是一些常见的,我从来没有见过,没有在任何真正的大型C项目工作?我怎么知道,至少我的IDE,看看py3k/Include
?
更新
我想出如何告诉我的IDE,包括他们,这只是我的愚蠢和拼写错误。但我更感兴趣的是为什么""
的作品。这不是""
和<>
之间的区别吗?
两个#include <header>
和#include "header"
看在“实现定义的地方”,即它取决于你所使用的编译器及其设置。对于#include <h>
,它通常是一些标准的系统包含目录以及编译器另外配置的任何配置。
两个版本之间的区别是,如果不支持或不为#include "header"
搜索,它将被重新处理“如果它读#include <header>
”(C99,§6.10.2)。
正是我想知道的。 – Falmarri 2010-11-12 21:05:27
您需要以某种方式告诉您的编译器要搜索的目录 - 对于GCC,这意味着使用-I
标志。查看它的组合IDE /编译器。
我们需要知道您使用的是什么IDE。 – nathan 2010-11-12 20:03:43
任何特定的IDE,或者我们应该猜测? – 2010-11-12 20:04:03
对于大多数IDE,在Project settings对话框中有一些include目录设置,你可以列出你的py3k/Include目录。如果不知道您正在寻找哪个IDE,则很难说出精确的设置。 – Himanshu 2010-11-12 20:07:36