对于C/C++预处理器,#include "./test.h"
和#include "test.h"
之间是否有区别?#include指令:“test.h”和“./test.h”之间的区别
3
A
回答
4
不,没有区别。
你也可以有
#include "../thisdir/test.h"
而且这将是相同的
1
按照C标准,是没有区别的:编译器到达指定他们是如何搜索。实际上,对于我所知道的任何实现,不应该有任何区别。
-1
在我看来有一个重要的区别。
在#include "test.h"
的情况下,使用选项-I在指定给编译器的所有目录中搜索包含文件。
在#include "./test.h"
的情况下,仅使用引用文件的驻留目录。
1
预处理器将对这两种样式进行相同处理。标准做法是
#include "test.h"
并将include文件路径作为选项传递给编译器。 (例如,GCC的-I选项)。这使得更改头文件的位置变得很容易。您只需在项目的make文件中进行一次更改即可。
相关问题
- 1. /usr/include和/ include之间的区别
- 2. cq:include和sling之间的区别:include
- 3. 模板include和jquery.load之间的区别?
- 4. Shell:eval和ksh命令之间的区别
- 5. '使用'和'#using'指令之间的区别?
- 6. 预处理器指令之间的区别#if和#ifdef
- 7. MASM EQU和TEXTEQU指令之间的区别
- 8. 测试指令时'@'和'='之间的区别
- 9. 预处理器指令#error和#warning之间的区别
- 10. AngularJS - 指令和模板之间的区别
- 11. 指令引用和数据引用之间的区别
- 12. 属性指令和元素属性语法之间的区别?
- 13. 指令md-whiteframe和css类md-whiteframe之间的区别
- 14. <iostream>和#include中的“iostream”(引号)之间的区别?
- 15. Fortran中INCLUDE和模块之间的区别
- 16. #include“MyClass.h”和#include“。\ myclass.h”有什么区别?
- 17. '+ ='和'= +'之间的区别?
- 18. {!!之间的区别!!}和{{}}
- 19. ==和case之间的区别?
- 20. '#','%'和'$'之间的区别
- 21. | =和^ = css之间的区别
- 22. “%〜dp0”和“。\”之间的区别?
- 23. .eq之间的区别。和==
- 24. ==和.equals()之间的区别?
- 25. `%in%`和`==`之间的区别
- 26. Linux与Windows之间'INT'指令的区别
- 27. 是什么这两个ASP.NET MVC IgnoreRoute指令之间的区别?
- 28. 预处理器指令#if与正常之间的区别
- 29. C++:指针语法之间的区别
- 30. golang指针之间的区别
如果通过 – 2009-10-22 11:02:31
重命名目录,则必须更改所有#includes如果我做了“../../thisdir/test.h”,那将是一场噩梦:) – Tom 2009-10-22 11:05:04