[英]C preprocessor include and paths
說,我們有一個.cpp
文件A
包括.h
文件B
其中包括一個.h
文件C
。
// File A.cpp
#include "B.h"
...
// File B.h
#include "../../utilityies/C.h"
...
如果B
使用相對路徑包含C
,那么相對路徑是相對於B
的位置還是A
的位置解析的,即B
將被復制粘貼到.cpp
的位置?
include路徑是相對於包含它的文件所以在你的情況下相對於B的位置。
來自gcc文檔 :
GCC首先在包含當前文件的目錄中查找#include“file”請求的頭,然后在-iquote選項指定的目錄中查找,然后在相同的位置查找使用尖括號請求的頭。 例如,如果/usr/include/sys/stat.h包含#include“types.h”,GCC首先在/ usr / include / sys中查找types.h,然后在其通常的搜索路徑中查找。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.