對於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. 在include中如果我使用「test.h」和「path/test.h」是一樣的嗎?
- 2. /usr/include和/ include之間的區別
- 3. #include <...>和#include「...」之間的區別?
- 4. cq:include和sling之間的區別:include
- 5. 模板include和jquery.load之間的區別?
- 6. cq include,sling include和jsp之間的區別包括
- 7. #include「SDL/SDL.h」和#include「SDL.h」之間的區別
- 8. 指針之間的區別
- 9. 陣列和指針之間的區別
- 10. perl命令之間的區別'=>'和'='
- 11. Shell:eval和ksh命令之間的區別
- 12. mvn和mvn3命令之間的區別
- 13. qdel和kill命令之間的區別
- 14. GNU Make中的ifeq指令和if函數之間的區別
- 15. 指令與模板之間的區別與沒有模板和Angular 1.2和1.1之間的區別?
- 16. '使用'和'#using'指令之間的區別?
- 17. 預處理器指令#error和#warning之間的區別
- 18. 指令引用和數據引用之間的區別
- 19. 預處理器指令和庫之間的區別
- 20. MASM EQU和TEXTEQU指令之間的區別
- 21. AngularJS - 指令和模板之間的區別
- 22. angular $ firebaseArrray:控制器和指令之間的區別
- 23. 預處理器指令之間的區別#if和#ifdef
- 24. MOVDQA和MOVAPS x86指令之間的區別?
- 25. 指令控制器和正常控制器之間的區別
- 26. 測試指令時'@'和'='之間的區別
- 27. 屬性指令和元素屬性語法之間的區別?
- 28. 指令md-whiteframe和css類md-whiteframe之間的區別
- 29. <iostream>和#include中的「iostream」(引號)之間的區別?
- 30. Fortran中INCLUDE和模塊之間的區別
如果通過 – 2009-10-22 11:02:31
重命名目錄,則必須更改所有#includes如果我做了「../../thisdir/test.h」,那將是一場噩夢:) – Tom 2009-10-22 11:05:04