C struct当您尝试遵守 80 个字符的宽度限制时,是否有适当/推荐的方法向成员变量添加简短的 Doxygen 注释?
例如
// MyStruct.h
#ifndef MY_H
#define MY_H
typedef struct MyStruct
{
struct in
{
int i_; ///< A number
MQTTAsync_connectionLost connLost_; ///< Callback invoked upon loss of
///< connection
char c_; ///< A letter
} in_;
} MyStruct;
#endif
Run Code Online (Sandbox Code Playgroud)
上面的内容似乎不是connLost_遵守 80 个字符宽度限制的正确记录方式:它最终会在“字段文档”小节下生成描述,connLost而不是与其对等成员变量一起生成描述。
#ifndef MY_H
#define MY_H
typedef struct MyStruct
{
struct in
{
int i_; ///< A number
MQTTAsync_connectionLost connLost_; ///< Callback invoked upon loss of \
connection
char …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Doxygen来记录一些使用 Microsoft源代码注释语言 (SAL)的 C++ 代码。但是,Doxygen 无法正确解析某些注释宏,例如_Success_、 。在示例函数注释的情况下,_Success_Doxygen 将此宏误解为函数头/原型。
以包含函数注释标记的以下示例为例:
/**
* @file
* Example with function annotation.
*/
#include <windows.h>
#include <sal.h>
/**
* @brief This is a function.
* @param i a random variable
* @return TRUE on every call.
*/
_Success_(return) // The SAL function annotation.
BOOL function(_In_ int i) {
return TRUE;
}
Run Code Online (Sandbox Code Playgroud)
对于上面的示例,Doxygen 将解释_Success_()为函数头/原型,从而创建绝对错误的文档。以下是带有和不带有函数注释的HTML Doxygen 输出:
通过 …
我正在尝试使用呼吸将 doxygen 和 sphinx 缝合在一起。
Breath 要求您首先生成 doxygen xml 输出:https ://breathe.readthedocs.io/en/latest/quickstart.html
我不想在单独的步骤中执行此操作。我可以在构建时为我sphinx-build执行吗?doxygen我只需要它先使用一些参数运行此命令。无需编写自定义 sphinx 插件就可以实现这一点吗?
这有效
# Need to sleep because sometimes doxygen doesnt finish writing files before sphinx runs
cwd = os.path.dirname(os.path.realpath(__file__))
os.system('doxygen')
time.sleep(3)
Run Code Online (Sandbox Code Playgroud) 我想使用Doxygen来记录混合使用C和x86汇编语言的遗留代码.汇编语言不是内联的,而是在单独的仅汇编文件中.如何记录汇编语言部分?
我有一个代码
static const guint8 variable;
我放文件的时候
/** * \var static const guint8 variable; * \brief This is a variable */ static const guint8 variable;
我在生成的文档中没有得到任何输出.但是,当使用简单的变量decleration完成相同的操作时:
/** * \var int someothervar; * \brief This is some other variable */ int variable;
它确实有效
是我在使用中犯了一些错误?
在此先感谢您的帮助,
- elechi
Doxygen使用graphviz为我的项目生成一个很好的类层次结构.但我现在想在该图表中添加手动注释.为此,我需要编辑DOT文件.然而,doxygen似乎没有在任何地方输出该文件.它只输出.map文件和.png图像.
如何让doxygen给我点文件?我检查了他们的文档,但找不到任何方法来实现它.当然doxygen必须在某个阶段生成点文件?
我想知道是否有办法更改默认工具以生成Doxygen的消息序列图表(msc).Doxygen的实际默认工具是mscgen(http://www.mcternan.me.uk/mscgen/),它是一个很好的工具,但我想使用msc-gen(https://sites.google.com/site/mscgen2393 /)这似乎是一个更完整的工具.
我已经尝试在"MSCGEN_PATH =/usr/bin /"创建一个链接到msc-gen(如ln -s/usr/bin/msc-gen ./mscgen),但工具的命令行是不同的.有一种特定的方法可以配置Doxygen来"学习"这个新的工具命令行吗?
我将doxygen设置为Visual Studio 2013(C++)中的PostBuild事件,作为对仍需要记录的内容发出警告的方法.
有谁知道是否有可能改变doxygen警告信息的格式
目前doxygen格式是
D:/project/src/MyFile.h:13:警告:未记录复合MyClass.
但如果格式是:
D:\ project\src\MyFile.cpp(63):警告未记录复合MyClass.
然后将错误从输出复制到"错误列表"中,并且双击输出窗口中的错误将直接转到文档丢失的行
当然我可以编写一个应用程序来在后台运行doxygen并转换消息(这就是我将要做的)但是如果可以告诉doxygen通过doxygen配置生成VS样式警告那么我宁愿这样做.
例如
path(line):message
提前谢谢了
我有一种情况需要在Doxygen中记录bsearch()签名.签名看起来像这样:
void * __cdecl bsearch (
const void *key,
const void *base,
size_t num,
size_t width,
int(__cdecl *compare)(const void *, const void *)
)
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是如何为指针*比较组成@param命令,因为Doxygen抱怨" 命令@param的参数'比较'在bsearch的参数列表中找不到 "我投入的所有内容.
这是一个独立的实现,所以它不依赖于库签名,但我想如果我这样做:
typedef int(__cdecl *pcompare)(const void *, const void *);
Run Code Online (Sandbox Code Playgroud)
将签名更改为pcompare比较使用标准签名的调用者会出现类型问题.
我对任何解决方案持开放态度,允许我在没有Doxygen警报的情况下记录这个问题.
我正在使用@JSDoc为我的JavaScript库创建文档。我知道如何指示可选参数。像下面
/*
* @param {string} [somebody] - Somebody's name.
*/
function sayHello(somebody) {
if (!somebody) {
somebody = 'John Doe';
}
alert('Hello ' + somebody);
}
Run Code Online (Sandbox Code Playgroud)
但我想指出我的API中的某些参数是必需的。如何使用JSDOC进行显示。我从JSDoc tags-param中找不到任何内容