小编alb*_*ert的帖子

Sphinx和Doxygen的主要区别是什么?

我想为计算机视觉领域的项目,模块和库集合准备一份文档(主要用c ++编写).为此,我查看了OpenCV文档,您可能知道OpenCV 2.4.x文档基于Sphinx,这是我寻求的确切解决方案.Sphinx的优点是:

  1. 从语义角度看模块的层次结构.例如,卡尔曼滤波器运动分析和对象跟踪模块的子代
  2. 您可以添加图像和数学公式
  3. 相当不错的嵌入式搜索引擎

但我意识到OpenCV3.0的c ++版本是基于Doxygen记录的,我不知道为什么!因为它没有Sphinx那么有趣.我知道Doxygen可以编译你的代码并提取你的评论,这是一个有用的功能.我也知道有些库(如呼吸)可以作为DoxygenSphinx之间的桥梁.

现在我的问题是:

  1. 彼此的Sphinx和Doxygen替代品还是可以和它们一起使用?
  2. Doxygen是否具有Sphinx所提到的功能?
  3. 您更喜欢哪个文档引擎(Sphinx,Doxygen或其他引擎)?

c++ documentation opencv doxygen python-sphinx

20
推荐指数
1
解决办法
1万
查看次数

用C/C++包来理解重构的代码

我即将开始研究一个涉及重构和修改c&c ++中现有代码的项目.代码是一个膨胀的代码,并且数量巨大.当然,由于代码需要修改,因此我们必须在非常短的时间内开发对代码的理解,因为我们有一些非常紧迫的项目进度表.任何人都可以建议任何有助于实现上述目标的开源工具.总之,我正在寻找的工具可以:

  1. 逆向工程工具,有助于理解设计.
  2. 序列生成器工具将帮助在运行时绘制序列(最有可能我们将能够运行代码,但至少不能在初始阶段)或通过代码检查.
  3. 良好的代码浏览工具,可以研究现有的代码库.
  4. 适合的工具,可以轻松自动重构代码.

请告诉我任何值得关注的经历,偏好或收藏.

[编辑]想出了上面提供帮助的工具列表.这是清单:

  1. Graphviz&doxygen
    从现有代码库生成UML类图

  2. UMLStudio
    为您的OO遗留代码创建对象模型是分析,理解和维护它的最佳方法.UMLStudio可以比任何其他CASE工具更快地将C++,Java,CORBA IDL,PHP 5和Ada 95代码转换为OOA和D表示法.

  3. CodeDrawer for C++
    The CodeDrawer converts source code to visual based diagrams. Class, struct, and any elements of source code can be shown diagrams. It also shows the logics of a function and a method. The CodeDrawer helps understand source code of your project

  4. Imagix
    Reverse engineering and visualization of source code lead to improved program comprehension. Speeds: Learning Unfamiliar Code Change Impact …

c++ refactoring automated-refactoring

19
推荐指数
1
解决办法
6973
查看次数

使Doxygen读取双斜杠C++注释作为标记

我正在尝试在我们庞大的78,000文件C++代码库上设置自动Doxygen运行.它可以提取基本类型和层次结构信息,但我想更好地了解已经存在的文档注释.

多年来积累的大多数评论都遵循一般模式,尽管不是Doxygen预期的模式.他们大多看起来像

// class description
class foo
{
   // returns ascii art of a fruit
   const char* apples( void ); 

   // does something to some other thing
   customtype_t baz( foo &other );

   enum
   {
      kBADGER, // an omnivorous mustelid
      kMUSHROOM, // tasty on pizza
      kSNAKE,  // oh no!
   };
}
Run Code Online (Sandbox Code Playgroud)

这是双重削减,而不是Doxygen期望的/////!风格评论.

搜索和替换所有这些评论的文件太多了,而且我的许多程序员对于在代码中看到三重斜杠都非常过敏,所以我想找到一些方法让Doxygen读取普通评论作为JavaDoc评论,当他们在正确的地方.有没有一种方法,使Doxygen的阅读//作为///

我找不到任何这样的配置参数,所以我想我需要以某种方式转换输入.一般来说,我使用的规则是:

  • 如果有一行只包含注释,紧接在函数/类/类型/变量声明之前,则假定它是/// 注释.
  • 如果// 评论在同一行后面有声明,则将其视为a///<

但我不知道怎么去教Doxygen这条规则.我能想到的两种方式是:

  1. 将程序编写为INPUT_FILTER,它解析输入C++并将//s转换为///s,如上所述.但是这种转换太复杂了,不能作为正则表达式,我真的不想写一个完整的C++解析器只是为了将输入提供给另一个C++解析器!此外,为每个文件启动一个INPUT_FILTER程序会降低Doxygen的速度:在我们的源代码中运行已超过30分钟,并且添加一个INPUT_FILTER …

c++ doxygen

18
推荐指数
1
解决办法
1730
查看次数

如何在HTML Doxygen中指定图像大小?

我试图在Doxygen生成的HTML中手动指定图像大小.但是,正如我在文档中看到的那样,只有在使用LaTeX输出时才会发生这种情况.这里有人知道任何解决方法吗?

举个例子,我想做这样的事情:

\image html example.png "Caption" width=10px
Run Code Online (Sandbox Code Playgroud)

谢谢!

documentation doxygen image-resizing

16
推荐指数
3
解决办法
9564
查看次数

RPC API的文档工具

有很多好的工具可供源代码和API文档(doxygen,Headerdoc,Sphinx,仅举几例).但是,它们都不是特别擅长为通过RPC接口提供的API生成文档(如果您有关于如何使用这些工具合成RPC API文档的建议,请务必建议).

我特别感兴趣的是文档工具,它至少支持JSONAMQP,但问题也适用于Protobuf,Thrift和XML-RPC之类的东西,任何与这些技术一起使用的工具建议至少会给我一个开始的地方.

老实说,我还没有看到任何RPC接口的质量文档(通过手工或工具生成),我只是希望这是因为开发人员很懒,而不是因为工具不存在.

api rpc json documentation-generation amqp

14
推荐指数
1
解决办法
3739
查看次数

doxygen一次注释多个变量

如果我有以下内容:

/**
 * @brief (x,y,z) points for block
 */
int x, y, z;
Run Code Online (Sandbox Code Playgroud)

它只会生成x的文档,是否可以在doxygen中使用一条注释对所有x,y和z进行注释?

编辑按照envu的建议,我现在有以下内容(基于http://www.doxygen.nl/manual/grouping.html#memgroup)

//@{
/** some documentation here */
int x, y, z;
//@}
Run Code Online (Sandbox Code Playgroud)

要么

//@{
/**
 * @brief some documentation here
 */
int x, y, z;
//@}
Run Code Online (Sandbox Code Playgroud)

然而,这两个仍然只记录x.尝试使用不同的表单我还没有得到相同的文档字符串来跨越多个变量

c c++ variables comments doxygen

14
推荐指数
3
解决办法
9216
查看次数

用doxygen记录:将细节放在最上面

我正在使用doxygen来获取Android项目的文档.我知道doxygen多年了.但是现在我遇到的问题是,我希望我的类的详细信息在javadoc中位于顶部而不是底部.

经过短暂的谷歌搜索,我找到了可以DETAILS_AT_TOP做我想要的选项,但不幸的是这个选项被删除了.所以新方法是使用所谓的DoxygenLayout.xml,但文档在哪里应该是这样的文件?在文档中只解释了一些属性.我可以根据需要修改原件在哪里DoxygenLayout.xml

我也有同样的问题,HTML_FOOTER没有记录原始文件的样子.

documentation customization doxygen

14
推荐指数
2
解决办法
5114
查看次数

使用git管理项目的Doxygen?

我正在研究C++和Objective C iPhone项目.我正在使用git作为我的版本控制系统.

代码库已经增长了很多,所以我想将doxygen添加到项目中.问题是我不确定这样做的最佳方法是什么.

我考虑过几个选项:

1)在项目文件夹中创建doxygen HTML文档,并使其成为项目的"部分",以便它也被版本化并提交给git.

2)在项目文件夹中创建doxygen HTML文档并将其添加到项目中,.gitignore因此项目的每个用户都负责生成文档,项目git存储库将保持不变(除了.gitignore).

我们在主服务器中使用git --bare存储库,因此在服务器中安装包含HTML doxygen的网页会很复杂(你实际上看不到带有git的项目文件--bare repo,所以我赢了除非我单独上传,否则无法看到doxygen生成的HTML文档

也许我可以做些什么cron-job,以保持服务器端的doxygen更新?

非常欢迎帮助.

c++ git iphone doxygen

13
推荐指数
2
解决办法
6703
查看次数

Doxygen和Objective-C类别

虽然Doxygen的最新版本声称更好地处理Objective-C类别,但它似乎仍然在我的源代码中阻塞类别.我想知道是否有人正确地记录了类别.

作为一个例子,我在NSString上有一个类别定义为:

@interface NSString (CCFExtensions)
Run Code Online (Sandbox Code Playgroud)

使用名为NSString_CCFExtensions.h的接口文件和实现文件NSString_CCFExtension.m

Doxygen将使用超类引用该文件; 尽管看似有效的doxygen语法,但没有记录任何类别方法.

使Objective-C类别正常工作的正确源标记是什么?

doxygen objective-c categories

11
推荐指数
1
解决办法
3656
查看次数

Xcode和XIB自我文档

是否有用于记录许多Xcode绑定,插座和IBAction绑定,键值绑定等的工具?我已经查看了DoxygenHeaderDoc上的线程,但这些文档程序文件,用于描述类等,但似乎没有涵盖Xcode拖放启用的大量"隐藏"链接?

一个具体的例子,我可以使用XIB编辑器为IBAction我的窗口上的每个控件创建一个,一个或多个类/实例中的方法,在一个或多个文件中定义 - 我想要一个所有这些的列表,显示控件类型和名称,源文件,类和方法 - 或图形表示会更好.然后键值路径的类似列表链接到arrayControllers等.

我是新人,所以如果我错过了一些明显的东西,请告诉我.

谢谢.

ide documentation objective-c ios xcode4

10
推荐指数
1
解决办法
237
查看次数