C++:#include文件搜索?

sho*_*osh 3 c++ header include visual-c++

此MSDN文档引用:

在包含#include语句的文件的同一目录中查找包含文件,然后在包含(#include)该文件的任何文件的目录中查找

等等,什么?
这究竟意味着什么(大胆的东西)?

unw*_*ind 5

它可能意味着如果foo/bar/baz.c包含../bog/bog.h,后者包含

#include "fix.h"
Run Code Online (Sandbox Code Playgroud)

它会找到foo/bar/fix.h.换句话说,它查找包含C文件的目录,该文件包含包含include的标头.明确?:)

因此,呈现为华丽的ASCII图形的文件布局是:

  foo/
  |
  +-bar/
  | |
  | +-baz.c
  | |
  | +-fix.h
  |
  +-bog/
    |
    +-bog.h
Run Code Online (Sandbox Code Playgroud)

bog.h随后能找到fix.h在同级目录foo.