我正在尝试使用 Doxygen 记录 PHP 类成员(我没有使用 PHPDocs,因为该项目涉及 COCOA 编程,所以我可以对这两个部分使用相同的工具)。
/**
* This is brief description.
*
* This is detailed description.
*/
private $foo;
Run Code Online (Sandbox Code Playgroud)
这段代码正确完成了文档,但我想在文档中包含 var 应该处理的类型。
我尝试使用 \var 和 \property,但是 Doxigen 没有为 var 生成文档。
//THIS IS NOT WORKING!
/**
* This is brief description.
*
* This is detailed description.
* \var int
*/
private $foo;
Run Code Online (Sandbox Code Playgroud)
我看过这篇文章: Doxygen:如何在 php 中描述类成员变量?
似乎 \var 在 Doxyegn 中不起作用,但该帖子有点旧,也许我现在可以做些什么。
我已经实现了一个二叉树程序,其中包括带有函数的tree.c,带有声明的tree.h和用于测试的main.c. 另外,我有一个makefile,它是:
CC=gcc
CFLAGS=-g -Wall
DEPS = tree.h
OBJ = main.o tree.o
%.o: %.c $(DEPS)
$(CC) -c -o $@ $< $(CFLAGS)
tree: $(OBJ)
$(CC) -o $@ $^ $(CFLAGS)
clean:
rm -f *.o tree
Run Code Online (Sandbox Code Playgroud)
现在我想让它生成一个库,不仅是二进制树函数的对象文件,之后在makefile中生成doxygen的文档.任何帮助都会有所帮助.
部屋,
我正在尝试用doxygen记录我的C代码,但是使用"成员之后的文档"样式似乎对我不起作用.doxygen文档说:
将文档放在成员之后
如果要记录文件,结构,联合,类或枚举的成员,有时需要将文档块放在成员之后而不是之前.为此,您必须在注释块中添加一个<标记.请注意,这也适用于函数的参数.
这里有些例子:
[...]
大多数情况下,人们只想在会员后面做一个简短的描述.这样做如下:
Run Code Online (Sandbox Code Playgroud)int var; //!< Brief description after the member要么
Run Code Online (Sandbox Code Playgroud)int var; ///< Brief description after the member
最佳源代码示例:
/** @file test.c */
void foo(void) {
uint8_t bar; ///< Some random variable
}
Run Code Online (Sandbox Code Playgroud)
我的Doxyfile被粘贴在这里.
我没有在文档中获得变量的描述,而是得到了这个:
2.1.1功能文档
2.1.1.1 void foo(void)
<一些随机变量
有人碰巧知道为什么吗?
/* ----------------------------------------------------------
** functions used for converting between different data types
** ---------------------------------------------------------*/
#ifndef TYPECONVERTER_H_INCLUDED
#define TYPECONVERTER_H_INCLUDED
/**
converts binary to decimal
@return converted decimal number
*/
int toDecimal(bool binary[], int noOfNumbers);
/**
converts decimal to binary and stores it in a given array
*/
void toBinary(int origin[], bool binary[], int noOfNumbers);
#endif // TYPECONVERTER_H_INCLUDED
Run Code Online (Sandbox Code Playgroud)
我如何评论这个标题的作用,所以Doxygen了解它?现在它只是将最高评论分配给第一个函数.
我对C代码注释的样式有疑问。像这样:
/* \brief Creates a new shm pcm */
Run Code Online (Sandbox Code Playgroud)
有时是这样的:
/* \!brief Creates a new shm PCM */
Run Code Online (Sandbox Code Playgroud)
“ \ brief”和“ \!brief”有什么区别
我是 Doxygen 新手,正在尝试评论我的代码。
我对注释有一些问题:我的多行注释出现在一行中,我不想使用\\nor <br>。
/**
Brief - this is a function
Get -
Return -
*/
void func1()
{
return
}
Run Code Online (Sandbox Code Playgroud)
我希望每一行都开始一个新行。
然而,结果是:
Brief - this is a function Get: - Return: - Post: -
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
/// Brief - this is a function
/// Get -
/// Return -
void func1()
{
return
}
Run Code Online (Sandbox Code Playgroud)
与上面提到的结果相同。
我已经开始在我的代码中添加一些doxygen注释,但我看到一些注释更改了目标代码以及Visual C++中的链接可执行文件.
我使用objdump来捕捉差异.我期待日期和校验和的差异,但不多了.但是,在方法的doxygen样式注释中添加注释行会更改对象代码和可执行文件.
你知道这个奇怪行为的原因是什么,或者是否有另一种方法可以在添加这些注释后验证可执行文件中没有变化?
干杯,布拉克
compiler-construction verification comments doxygen visual-c++
我正在使用Doxygen来记录我的python模块,我试图让它链接到文本中的函数.我可以将它链接到函数的命名空间ok,但不能链接到函数本身.
如ModuleName::Namespace工作,但ModuleName::Namespace::getSomething()没有.
如何让这些链接起作用?
我正在使用 Doxygen 为我当前的项目生成一个 API,并且发生了一些奇怪的行为。基本上,如果我使用初始化列表在类的构造函数中设置成员数组,Doxygen 不会产生正确的输出。
这是一个简单的测试类:
#ifndef TEST_HPP
#define TEST_HPP
class TestClass {
public:
/** Constructor Version 1 */
TestClass() : v{0,0,0} { }
/** Constructor Version 2 */
// TestClass() {
// v[0] = 0;
// v[1] = 0;
// v[2] = 0;
// }
protected:
/** my little array */
float[3] v;
};
#endif // TEST_HPP
Run Code Online (Sandbox Code Playgroud)
如果我使用构造函数的版本 1 在文件上运行 doxygen,我会得到一个相对空的类的 HTML 文件,没有构造函数文档,也没有提到我的变量 v。如果我注释掉版本 1 并使用版本 2,Doxygen 会正确生成类的文档。
我知道这种类型的数组设置对 C++11 来说是新的,但它是初始化还是它在初始化列表中完成的事实?如果有人知道导致这种行为的原因,我将不胜感激,因为我们在整个代码中使用这些类型的初始化程序,并且我希望在必要时避免进行彻底的更改。
我的文件中有自定义构建目标*.pro:
docs.commands = doxygen $$PWD/../docs/Doxyfile
QMAKE_EXTRA_TARGETS += docs
POST_TARGETDEPS += docs
Run Code Online (Sandbox Code Playgroud)
Doxygen作为post build事件运行.问题是,如果某人构建项目并且尚未安装,doxygen则构建失败.是否可以检查是否doxygen在构建项目的计算机上安装了该doxygen命令,以便仅在doxygen安装并添加到系统中时才运行该命令PATH?
我确实有一个代码片段
vector<foo> bar;
Run Code Online (Sandbox Code Playgroud)
它工作正常,但 Doxygen 警告“发现不支持的 xml/html 标记 <foo>。由于它是一个代码,因此我在谷歌搜索时发现使用转义字符是不可能的。我可以抑制警告吗?
doxygen ×12
c++ ×4
c ×3
alsa ×1
comments ×1
header-files ×1
makefile ×1
module ×1
namespaces ×1
php ×1
python ×1
qmake ×1
qt ×1
qt5 ×1
verification ×1
visual-c++ ×1