c++ #include
在windows下VS寫過c++代碼的同學(xué)知道刑赶,若想include一個.h文件必須明確告訴編譯器該文件的路徑,方式可以有2:
- 以當(dāng)前文件所在工程文件(.vsproj)為基準(zhǔn)朴摊,推算.h文件的路徑媚狰。這種方式一般用于include工程內(nèi)部的.h文件沪摄;
- 將.h文件所在目錄的某上級目錄配置在工程中,以該上級目錄作為基準(zhǔn)推算.h文件的路徑搂擦。這種方式一般用于include基礎(chǔ)庫/第三方庫等“較遠(yuǎn)”的目錄下的文件稳诚。
無論是那種方式,每次include都要小心數(shù)一數(shù)到底是要后退幾級再開始前進(jìn)(如“../../../../base/include/string.h”之類)瀑踢,也常常需要在工程中配置路徑扳还。好生煩惱……對于老程序員都是一個非常頭疼的事才避,對新手就更不用說有多痛苦了。
object-c #import
現(xiàn)在轉(zhuǎn)到MAC下的xcode氨距,簡單多了——再也不用關(guān)心路徑問題了桑逝。直接 #import "xxx.h"就夠了(當(dāng)然,前提是xxx.h文件已經(jīng)加到工程中)俏让。不管該文件深在哪個犄角旮旯的文件夾中楞遏,xcode都能幫你找到。好像這一堵一堵的文件夾“墻”都成了透明的首昔。自然寡喝,一個不好的結(jié)果是:在不同文件夾中,相同的文件名會沖突勒奇。 聽說而已预鬓,我沒有親見。(因?yàn)楝F(xiàn)在用swift撬陵,對object-c的學(xué)習(xí)僅至能看懂/簡單用即可珊皿,沒有親自嘗試网缝。)
以上理論沒有找到理論根據(jù)巨税,僅是在實(shí)踐時遇到問題(在object-c中import時“自作多情”地加了路徑,總是“找不到xxx.h文件”)粉臊,有object-c經(jīng)驗(yàn)的同事依此理論解決了問題草添,覺得跟c++迥異,故紀(jì)錄下來扼仲。后續(xù)也試圖找理論依據(jù)远寸,沒有得逞,僅找到一個有板有眼的帖子屠凶,算是一個撐腰的吧驰后。見stackoverflow 另外,看了一下著名的AFNetworking源代碼矗愧,也確實(shí)是這樣的灶芝,就信了吧。