C / C ++预处理器的#include "./test.h"
和#include "test.h"
之间有什么区别吗?
答案 0 :(得分:4)
不,没有区别。
你也可以
#include "../thisdir/test.h"
它会是相同的
答案 1 :(得分:1)
根据C标准,没有区别:编译器会指定它们的搜索方式。在实践中,对于我所知道的任何实现,也应该没有任何区别。
答案 2 :(得分:1)
预处理器将对两种样式进行相同的处理。标准做法是
#include "test.h"
并将包含文件路径作为选项传递给编译器。 (例如,GCC的-I选项)。这样可以轻松更改头文件的位置。您只需要在项目的make文件中进行一次更改。
答案 3 :(得分:-1)
在我看来,有一个重要的区别。
在#include "test.h"
的情况下,在使用选项-I为编译器指定的所有目录中搜索包含文件。
在#include "./test.h"
的情况下,仅使用引用文件的驻留目录。