./ 和 /(根目录和当前目录)有什么区别?
what is the difference between ./ and / (root and current directory)?
这两者有什么区别?
假设文件 a 和 b 位于同一文件夹中,我们希望将 b 包含在文件 a 中。
./b 和 /b 不是一回事吗?我应该使用哪一个?
当且仅当您当前的工作目录是 /
时,./b
和 /b
是同一件事。你应该使用前者(a).
为了进一步说明,假设您当前的工作目录是 /my_code_dir
并且您的代码格式如下:
#include "./b.h"
#include "/b.h"
抛开C包含的整个问题是实现定义的,前者将使用/my_code_dir/b.h
而后者将使用/b.h
.
(a) 当然,假设它们是您仅有的两个选择。在任何规模适中的开发环境中,您可能应该避免使用这些 "breadcrumb" 样式的路径(如 ../../../include/xyzzy/plugh.h
),而是依赖于您的环境为您设置包含路径(这样您就可以只使用 xyzzy/plugh.h
).这样,事情就可以自由移动,而不必去更改大量代码。
这两者有什么区别? 假设文件 a 和 b 位于同一文件夹中,我们希望将 b 包含在文件 a 中。 ./b 和 /b 不是一回事吗?我应该使用哪一个?
/
时,./b
和 /b
是同一件事。你应该使用前者(a).
为了进一步说明,假设您当前的工作目录是 /my_code_dir
并且您的代码格式如下:
#include "./b.h"
#include "/b.h"
抛开C包含的整个问题是实现定义的,前者将使用/my_code_dir/b.h
而后者将使用/b.h
.
(a) 当然,假设它们是您仅有的两个选择。在任何规模适中的开发环境中,您可能应该避免使用这些 "breadcrumb" 样式的路径(如 ../../../include/xyzzy/plugh.h
),而是依赖于您的环境为您设置包含路径(这样您就可以只使用 xyzzy/plugh.h
).这样,事情就可以自由移动,而不必去更改大量代码。