我发现可以通过这种方式包含 C++ 库:
#include "..\example.h"
#include ".\another_example.h"
点是做什么用的?
它们表示包含的文件路径是相对于包含文件的实际路径的。
.
指向包含文件的实际目录
..
指向包含文件的实际目录的父目录
双点代表当前输入路径的父目录。单点代表当前输入的路径在一个点的左侧,用来表示你想要一个相对路径。
相对路径是相对于用户或应用程序的工作目录的路径,因此不必给出完整的绝对路径。
如果您以/
(在 *nix 系统上)或DRIVELETTER:
(在 Windows 上,例如D:
)开始您的路径,那么路径是绝对的。如果你不这样做 - 路径是相对的。如果路径是相对的 - 它会自动将文件目录添加到输入的路径之前。
例子:
"dir/././../dir/.."
是包含原始文件的目录。削减措施是:
dir/././../dir/..
-> dir/./../dir/..
-> dir/../dir/..
-> /dir/..
-> .
-> 工作目录。我们删除./
了,因为它是当前目录的别名。我们删除/dir/..
是因为我们进入一个目录dir
并返回..
最常用的功能之一./
(但在 shell 的上下文中,例如bash
) - 它强制使用相对路径,而不是在 $PATH 变量中调用可执行程序。例如,如果您ls
在 *nix 上输入终端,它将列出工作目录中的文件。如果您键入./ls
它,它将以ls
当前工作目录中的名称运行可执行文件,并执行该程序所做的任何事情。
您可以在 wikipedia 上的这篇文章中阅读有关路径分隔符的更多信息
一个点.
是文件的目录
2个点..
代表文件的父目录。
一个点是您的当前目录,两个点是您的父目录。
两个点表示比当前目录高一个目录。例如,如果您在目录 C:\some\directory" 中,则 "..\" 将是 "C:\some"。
一个点表示当前目录。因此,使用前面的示例,“.\”表示“C:\some\directory”。