我想引用一些不是由我維護的穩定的庫代碼。其實這是一些MFC代碼片段。如何用C++預處理程序包含文件的一部分#include
但是,每當我想包含代碼片段,我必須要整個文件,因此我必須包含其他內容,然後整個MFC ...結果是不可接受的。
目前,我將代碼片段複製/粘貼到我的項目中,但我感到可恥。我可以用C++預處理器引用文件的一部分嗎?
即使代碼與特定的MFC版本硬連接,它比在我的項目中複製它們要好。有了這樣的硬鏈接,我會知道它來自MFC,並節省我的時間來檢查它們。
是否有一些超級#include
用法?
我們可以寫類似
#include "foo.h" line [12, 55)
這意味着包括第22行至54 foo.h中
是的 - 1)你可以用「#ifdef /#ifndef /#endif」來「阻止」你不想要的頭部分。當然,這意味着修改標題。 2)或者,您可以將需要的部分剪切/粘貼到新標題中。 – paulsm4
如果你創建自己的頭文件並將其複製到該頭文件中(每個MFC版本一次),然後使用頭文件,它可能會工作得最乾淨,IMO。不是特別好,但比黑客攻擊系統提供的頭部更好(這是非常不得已的)。 –
你正在談論包括標題的東西,是不是?或者應該是你試圖包含任何種類的實現代碼?對於後者:不要這樣做,但建立一個對象來鏈接。 – alk