#include指令:“test.h”和“./test.h”之间的区别

时间:2009-10-22 10:54:05

标签: include c-preprocessor

C / C ++预处理器的#include "./test.h"#include "test.h"之间有什么区别吗?

4 个答案:

答案 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"的情况下,仅使用引用文件的驻留目录。