features.h
標題的用途是什麼?爲什麼以及何時可以在我的代碼中使用?問題可能很愚蠢(我相信它是如此),但我還沒有找到明確的答案。features.h頭文件的用途是什麼?
它是否定義了系統支持的源特徵? 還是它定義了一些額外的東西,必須根據其他定義來定義?
features.h
標題的用途是什麼?爲什麼以及何時可以在我的代碼中使用?問題可能很愚蠢(我相信它是如此),但我還沒有找到明確的答案。features.h頭文件的用途是什麼?
它是否定義了系統支持的源特徵? 還是它定義了一些額外的東西,必須根據其他定義來定義?
通常,如果您需要使用頭文件中定義的任何變量或函數,則需要將其包含在程序中。此規則也適用於features.h
。你可以看到features.h
一個URL下面大家參考:
http://repo-genesis3.cbi.utsa.edu/crossref/heccer/usr/include/features.h.html
定義是否包括算法的變種。 較少的變體減少了可執行文件的大小和編譯時間。該文件是標準C++庫的GNU並行擴展。
所以這個文件會包含一些在參考頁面列出的算法。
您指的是glibcxx的parallel/features.h,但問題是關於top-級別的Linux頭文件features.h。 –
features.h
頭文件提供了各種宏定義,這些宏定義指示了與其他頭文件的標準一致性,即根據用戶希望使用哪種標準打開或關閉哪些功能(因此名稱)應該打開還是關閉。
大多數C/C++編譯器都有命令行選項來處理標準一致性。讓我們以GCC爲例:當您通過-std=gnu9x
選項時,您需要C99標準的GNU方言。 features.h
標頭確保包含它的所有其他標題將確切地說明支持該特定方言所需的開啓或關閉功能。這通過#define
-ing或#undef
- 一些「中間」宏來實現。
作爲獎勵,features.h
還提供了glibc
版本信息宏以及各種其他位& bobs。
問題實際上是:爲什麼在features.h中定義,何時需要使用它們,而不是爲什麼頭文件... – olegst