2012-02-16 32 views

回答

1

這是可能的,創建另一個頭,其中包括所有其他的包括,包括只有它:

COMMON.H:

#include <somefile.h> 
#include <anotherFile.h> 
#include <andAnotherOne.h> 
在對方文件

,你只需要:

#include "common.h" 

雖然我會認爲這是一個壞主意,因爲你公開的內容比你需要的每個類都多,並且違反了程序中模塊的分離。另外,預處理器需要更多的工作,也許還需要編譯器。

+0

感謝您的回覆...真的有用 – Pinky 2012-02-16 08:36:49

1

這是究竟如何:

#import <SomeFramework/SomeFramework.h> 

工作。

會有開銷 - 可能有更多的文件要讀取,並且會有更多的文件需要解析。是否可接受的開銷是由您來決定的。可以開發ObjC程序,使其具有非常小的物理依賴性,並且使用#import可以節省大量冗餘重新打開的標頭(可能多次包含標頭)。因此,如果正確完成,影響將非常小。

更大的問題可能是弄清楚如何避免將其他框架暴露給客戶端。從你的頭

#import <SomeFramework0/SomeFramework0.h> 
#import <SomeFramework1/SomeFramework1.h> 
#import <SomeFramework2/SomeFramework2.h> 
#import <SomeFramework3/SomeFramework3.h> 
#import <SomeFramework4/SomeFramework4.h> 
#import <SomeFramework5/SomeFramework5.h> 

200線從VS的lib的依賴200頭......

我經常這樣做,你的提議從依賴關係的變化隔離客戶端的東西。他們不希望每個班級都有個別的問題,並且認爲隨着時間的推移,他們只想使用圖書館/軟件包而不用麻煩。

+0

感謝賈斯汀你的回覆,嗯,建議不要創建 – Pinky 2012-02-16 08:39:43

+0

這取決於 - 我提到「我經常做你正在提出的......」。具體來說,當爲其他人創建一個庫時,當這是一個邏輯上的標題組(例如一個庫)時,或者當您維護較大的代碼庫時,這樣做通常是有意義的。在這種情況下,分析內容可以給你一個關於圖書館結構的好主意(例如,它應該被分開的時候可能會變得清晰)。當然,如果使用不當,它也可能被濫用,並且真正將編譯時間發送到屋頂。 – justin 2012-02-16 08:59:34

相關問題