首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从内部宏展开的DO2简要描述

从内部宏展开的DO2简要描述
EN

Stack Overflow用户
提问于 2016-12-19 19:23:10
回答 2查看 366关注 0票数 2

请考虑以下C++声明宏:

代码语言:javascript
运行
复制
#define DECLARE_OBJECT_HANDLE(x) \
typedef struct x##HandleTag *x##Handle; \
typedef struct x##Handle *P##x##Handle

我想用一些doxygen注释来标记我的第二个指针声明。理想情况下,我希望第二个句柄引用第一个句柄,只提供简短的描述,说明它是指向这种类型的指针。

我改变了我的宏:

代码语言:javascript
运行
复制
#define DECLARE_OBJECT_HANDLE(x) \
typedef struct x##HandleTag *x##Handle; \
/**
* \brief Pointer to x##Handle.
*/ \
typedef struct x##Handle *P##x##Handle

当我发现它在某种程度上起作用时,我真的很惊讶!不幸的是,每种类型都有一个额外的部分,其中包含一些奇怪的字符:

我真的很不喜欢底层,因为我对此没什么好说的了。这是doxygen中的一个bug,当我只要求简短的描述时,它会产生额外的部分吗?

有没有办法防止它

PS:我在窗口8.1 64位上使用doxygen版本1.8.12 .

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-15 08:46:06

正如注释中指出的那样,我所指的奇怪字符是来自无序列表的一个符号点。

我在doxygen开发清单上问了这个问题,但没有人回答.

解决办法:

* doxy命令前面省略\brief

PS:原代码在宏扩展之外的任何地方都可以工作。

票数 1
EN

Stack Overflow用户

发布于 2016-12-24 14:58:02

对于doxygen来说,在混合定义、注释和类型设置的情况下,获得正确的流会有点困难。也许以下是一些提示/想法(因为它不是100%清楚你试图达到的目标):

代码语言:javascript
运行
复制
/**  Handle */
#define HT(x) \
typedef struct x##HandleTag *x##Handle

/** Pointer to #HT(x) */
#define PHT(x) \
typedef struct x##Handle *P##x##Handle

/** Doing both */
#define DECLARE_OBJECT_HANDLE(x) \
HT(x); \
PHT(x)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41229596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档