我正在嘗試編寫一些Doxygen註釋塊,並且我想包含示例代碼片段。當然,我希望這些示例能夠真正編譯,以免它們過時。如何在Doxygen註釋中包含.cpp文件的子集?
我example.cpp(即I \包括在.h文件中)看起來是這樣的:
#include "stdafx.h"
#include "../types_lib/Time_Limiter.h"
#include <vector>
void tl_demo() {
// scarce will be a gate to control some resource that shouldn't get called
// more than 10 times a second
Time_Limiter scarce (10);
// here's a bunch of requests
std::vector<int> req (500);
for (size_t i=0;i<req.size();i++) {
scarce.tick();
// once we get here, we know that we haven't ticked
// more than 10 times in the last second.
// do something interesting with req[i]
}
}
// endcode
,我的頭文件(即我運行Doxygen的)看起來是這樣的:
/**
* \ingroup types_lib
*
* \class Time_Limiter
*
* \brief Thread safe gate used to control a resource (such as an internet quote service) that has a limit on how often you can call it.
*
* \dontinclude Time_Limiter_example.cpp
* \skipline void
* \until endcode
*
**/
我想讓doxygen只包含從「void demo」開始到文件末尾(但沒有// endcode)的東西。
我試過用\ dontinclude和\ skip,\ skipline和\試驗,直到我不能完全弄清楚正確的咒語。
編輯:包括我的.h文件,現在我幾乎得到正確的咒語。這是幾乎正是我想要的,有沒有一種方法來使用\直到沒有標籤,並擺脫最後一個//從example.cpp endcode行?
您是否正確設置了doxyfile中的EXAMPLE_PATH? – 2009-10-16 17:56:25
是的。包含的文本,我只是想找出一些咒語,所以我不必在開始時看到三個#includes。 – 2009-10-16 17:59:09
而你在http://www.stack.nl/~dimitri/doxygen/commands.html#cmddontinclude上看到了這個例子嗎? – 2009-10-16 18:05:26