題:
強大而靈活的替代Doxygen支持C ++
einpoklum
2017-03-29 20:56:59 UTC
view on stackexchange narkive permalink

我需要為我的C ++項目生成文檔(不久之後可能還會為其他項目生成文檔)。到目前為止,我已經研究了doxygen,儘管它似乎很流行,但我還是遇到了一些問題(有關細節,我將不再贅述;有些已經解決)。由於我並不特別喜歡它-儘管它很受歡迎,但我想考慮一些替代方法。

現在,在7年前,StackOverflow上存在一個確切的問題:

C ++的Doxygen替代品

,但答案現在已經過時,因此,我在這里和現在都在問同樣的問題。

要求:

  • Libre
  • Gratis
  • 多平台,至少支持Linux和Windows
  • 具有與doxygen或更高版本相似的靈活性
  • 積極維護
  • 不可忽視的用戶群
如果您“在這裡不詳細介紹”,那麼將很難幫助您
@Mawg:主要是[this](http://stackoverflow.com/q/43093051/1593077),但我認為這對您沒有多大幫助。
但這解決了。那麼,為什麼不使用DoxyGen呢?只是好奇
@Mawg:這樣的行為使我預感,我可能想要別的東西。另外,為什麼我應該聽說過使用除氧劑?這不是我有積極的經驗。
為什麼不至少嘗試一下?有很多人對此持樂觀態度。他們不可能全都錯。另外,它已經得到了積極的維護和發展,並獲得了許多支持,並且Dimitri很有幫助。自從首頁開始“ Doxygen是從帶註釋的C ++來源生成文檔的事實上的標準工具”以來,肯定值得一試。而且,它繼續存在,“但它也支持其他流行的編程語言,這對我來說是一大優勢。
但是,等等,您遇到了一個問題,該問題已解決,因此您大概*已經*使用它來從代碼生成文檔。如果您可以告訴我們缺少哪些特定功能,那麼我們可以嘗試為您提供幫助。
@Mawg:誰說我沒有嘗試?我只是不想嘗試_only_ doxygen。
然後嘗試其他***和*** DoxyGen(如果有幫助,可能是因為它是行業標準)
由於到目前為止建議的唯一替代方法是Sphinx-Doc,請查看[Sphinx和Doxygen的主要區別是什麼?](https://stackoverflow.com/questions/31571849/what-are-the-main-differences獅身人面像和doxygen)和維基百科的[文檔生成器比較](https://en.wikipedia.org/wiki/Comparison_of_documentation_generators)
stackoverflow.com鏈接...現在返回“找不到頁面”。管理員在那裡有點失控。
@TrevorBoydSmith:該問題已刪除,但那裡的admis /主持人應將答案移至此處。也許我們可以做到?
@TrevorBoydSmith:看到我的新答案...
關於他說想要替代品時告訴他使用氧氣的所有無用評論是什麼? +1可以再發表一次無用的評論。感謝您提出問題,wtf是否刪除了另一個問題
二 答案:
Steve Barnes
2017-03-30 14:46:13 UTC
view on stackexchange narkive permalink

我個人強烈建議您看一下為Python文檔編寫的 Sphinx-Doc,但它也適用於其他系統。

  • 效果很好查找具有多種格式的多個主題的文檔 ​​li>
  • 可以從多種編程語言生成,例如帶有C ++
  • 的C ++可以與包括make,Jenkins等的構建系統集成。

解決您的問題:

  • Libre 完全開源
  • 免費提供
  • 多平台,至少支持Linux和Windows 基於Python,因此可以在任何地方運行多平台安裝說明
  • 靈活到與doxygen或更高的水平類似。 我個人認為它更加靈活,因為它允許混合使用在ReStructuredText中自動生成並預先編寫的文檔。
  • 在撰寫修訂版時積極維護 1.5.3在一個月前發佈於2017-02-26
  • 不可忽略的用戶群 - 閱讀文檔支持從&的許多示例開始此處

請注意,對於Au從C / C ++源代碼自動生成漂亮的文檔,您可以將Sphinx 用於生成文檔 ​​em>與 doxyGen 用於將信息提取到XML 呼吸充當它們之間的橋樑。

Sphinx不支持C或C ++自動生成的文檔。也就是說,您需要在與代碼並行的ReST文件中維護整個API和文檔。錯別字,不同步等大風險。
@detly添加了有關呼吸擴展的信息,該信息允許通過代碼doxygen_自動生成。
謝謝,我在其他地方看到過*呼吸*,但誤解了它在這裡扮演的角色。經過更多研究後,似乎還有一些針對Sphinx的基於LLVM Clang的autogen插件正在開發中,但最終可能也會填補這一空白。
einpoklum
2018-03-23 21:20:02 UTC
view on stackexchange narkive permalink

(我已經從現在刪除的StackOverflow問題頁面中找到了幾個答案:) sub>

Doc ++

您可以嘗試 DOC ++,但它可能更難看。

cldoc

有一種開源的替代doxygen的替代方法,稱為 cldoc

它可以處理C和C ++,並且基於clang。它聲稱提供的最有趣的功能:

  • 使用clang來可靠地解析最複雜的C ++項目,而無需用戶付出額外的努力。
  • 使用markdown進行文檔格式設置。
  • 使用一種簡單的格式來記錄您的代碼。
  • 在文檔中支持交叉引用。
  • 生成一個基於JavaScript的Web應用程序來呈現文檔。
  • 使用預生成的搜索索引實現快速的客戶端快速搜索。

NaturalDocs

我選擇的武器是 NaturalDocs 一個>。它有疣,但輸出效果不錯,標記也很輕鬆。

NetBeans

如果您有興趣跟踪大型項目,那麼我建議您使用c ++版本的Netbeans,它可以動態生成漂亮的調用圖(查找“顯示調用圖”功能)。

Doxypress

DoxyPress是Doxygen的現代替代品。



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...