我有一個看起來像這樣(爲簡潔,刪除不相關的評論元素)C接口結構:Doxygen的: static命令忽略對C成員函數
struct ArrayInterface {
/**
* @static
* @fn Array *Array::arrayWithArray(const Array *array)
* @memberof Array
*/
Array *(*arrayWithArray)(const Array *array);
/**
* @static
* @fn Array *Array::arrayWithObjects(ident obj, ...)
* @memberof Array
*/
Array *(*arrayWithObjects)(ident obj, ...);
/**
* @fn _Bool Array::containsObject(const Array *self, const ident obj)
* @memberof Array
*/
_Bool (*containsObject)(const Array *self, const ident obj);
// ...
}
的@fn
和@memberof
按預期工作。這些功能確實被Doxygen選爲會員功能。然而,@static
似乎被忽略,因爲靜態函數與生成的文檔中的其他成員的集中在:
我的Doxygen layout.xml包括publicstaticmethods
和publicmethods
。我的Doxyfile指定EXTRACT_ALL
和EXTRACT_STATIC
爲YES
。
你可能會認爲給這些成員添加@static
會將它們拖入Class文檔的Static Methods部分,但正如你所看到的那樣,它不會。
我意識到我在這裏彎曲C和Doxygen的限制,但這仍然感覺像一個錯誤 - 或者我做錯了什麼。
C不支持類或_methods_,只有_compond數據類型'struct'_和_functions_。函數指針是不一樣的! – Olaf
哦,我完全知道!這裏的項目,更多的上下文:https://github.com/jdolan/objectively – jdolan
我不明白爲什麼這個問題warrantted downvote。 downvote準則是「這個問題沒有顯示任何研究工作,或者沒有用處。」我不相信是這樣。 此外,Doxygen文檔_明確指出''\ memberof'和'\ static'適用於C語言,並且這些屬性不能從源代碼中推斷出來。 – jdolan