簡體   English   中英

C預處理器包括和路徑

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM