2015-11-14 65 views
-2

我們使用Doxygen來記錄我們的C/C++庫的API。它做得很好。該項目還生成通用測試程序,類似於opensslgpg命令。我想使用Doxygen記錄測試程序的命令,因爲它可以幫助用戶併爲文檔(包括樣式)提供一致性。使用Doxygen記錄程序?

我遇到的問題是我無法弄清楚如何記錄程序(輸出工件,而不是源文件)。郵件列表消息Understanding how Doxygen Documentation is generated指出Doxygen不支持開箱即用的程序文檔,但該消息有點過時。該線程聲明使用XML和XSLT處理來記錄程序,但這就是它所說的。它沒有提供任何關於如何去做的事情。

如何讓Doxygen爲myprog.exe創建專用頁面,並記錄子命令及其參數?我可以用什麼來代替它的一流支持?或者,我們如何使用郵件列表消息中所述的XML和XSLT?


我很高興創建一個獨立的HTML頁面。在這種情況下,我需要知道,所以應用了Doxygen的風格如何將其整合並建立索引

Doxygen special commands頁面看起來很多像我想要什麼,但我不能在生產頁面找到文檔喜歡它。 (這是假設他們正在使用Doxygen創建頁面)。


$ doxygen --version 
1.8.9.1 
+0

有點奇怪,它不適用於你,但沒有一個例子/顯示你已經嘗試過什麼和哪個版本沒有什麼希望得到幫助。從那一刻起,提到一份超過10年的文件並沒有改變很多。關於無法找到「Doxygen特殊命令」的頁面,其源代碼是發行版的一部分,可以在子目錄doc中找到命令。doc – albert

+0

@albert - Doxygen在庫及其類文件上做得很好。對於這個節目來說,它是一個不同的故事,因爲它是一個輸出神器。我沒有嘗試過任何東西,因爲我找不到我應該做什麼的任何指示。如果您之前已經完成,請提供說明。越詳細,越好(但我會解決任何事情,因爲我無法找到關於這個問題的信息)。 – jww

回答

1

我不知道如果我理解你的問題。我猜你想要的是在文檔中創建一個可以描述程序使用情況的新頁面(就像用戶手冊一樣)。我認爲你應該讀更多關於命令@mainpage,@page,@section@subsection的命令。

你可以做的一件事是創建一個名爲「Usage.dox」的額外文本文件。

/////////////////////////////////////////////////////////////////////////////// 
/// @page usage Usage of the Software 
/// 
/// @section Calling in the command line mode 
/// 
/// The usage of this software is as follows: 
/// 
/// <c>myProgram.exe [param1] [param2]</c> 
/// 
/// where for the first parameter the following is possible: 
/// 
/// | Parameter | Description   | 
/// |-----------|-----------------------| 
/// | -c  | Open the config mode. | 
/// | -s  | bla bla.    | 
/// 
/// @subsection Detailed description of the arguments 
/// 
/// ___ 
/// @subsubsection arg1 
/// Any detailed description of the argument arg1. 
/// ___ 
/// 
/// @subsubsection arg2 
/// Any detailed description of the argument arg2. 
/// ___ 
/// 
/////////////////////////////////////////////////////////////////////////////// 

而且你可以(如果你還沒有完成)創建一個「炫魅廣東」的文件:在該文件中,你可以爲你記錄的程序,例如使用的描述中創建一個額外的頁面其中包含文件「index.html」中顯示的信息並設置了到新頁面的鏈接。 所以,你可以創建一個文件「MainPage.dox」載:

/////////////////////////////////////////////////////////////////////////////// 
/// @mainpage Introduction 
/// 
/// Any text. 
/// 
/// For a description of the usage of this program see page @ref usage 
/// 
/// Any text. 
/////////////////////////////////////////////////////////////////////////////// 

正如你可以看到我引用叫我在文件前面定義的「用法」(使用@ref命令)的頁面「用法.dox」。在結果中,這會在引用新的「用法」頁面的index.html頁面上創建一個鏈接。此外,該文件在「相關頁面」下列出。

您還應該閱讀關於doxygen的「減價支持」的更多信息。

希望這能給你一個方向。

+0

謝謝@gmug。我想你有這個想法。我需要幾天才能試用。是的,我們有一個*「主頁」*。它被內聯到一個源文件中。您可以在[Source File](http://cryptopp.com/docs/ref/cryptlib_8h_source.html)和[Library API文檔](http://cryptopp.com/docs/ref/index.html)上看到它。 – jww