首页 > 解决方案 > 如何使用 Doxygen 记录依赖于预处理器定义的 typedef?

问题描述

是否可以记录一个依赖于预处理器定义具有不同类型的 typedef,以使用 Doxygen 在 html 输出中显示两种选择?

我要记录的代码:

/**
 * \file
 */

#ifdef _WIN32
/**
 * Documentation for Windows goes here...
 */
typedef wchar_t MyChar;
#else
/**
 * Documentation for Non-Windows goes here...
 */
typedef char MyChar;
#endif

我已经测试了几个与预处理器相关的设置,但我只能更改 html 输出中显示的 typedef 或合并文档。我什至设法让一个 typedef 出现在文件的概述部分,另一个出现在详细描述中。但是,我无法同时显示这两种选择。

我设法产生了以下两种选择:

----------------------------------------------
typedef wchar_t   | MyChar   | ....
----------------------------------------------
----------------------------------------------
typedef char      | MyChar   | ....
----------------------------------------------

但不是这样的

----------------------------------------------
typedef wchar_t   | MyChar   | ....
----------------------------------------------
typedef char      | MyChar   | ....
----------------------------------------------

注意:我不介意修改源代码只要

标签: cdoxygen

解决方案


不是一个真正的答案,只是一个问题/建议以下是否可以接受:

/** \cond */
#ifdef _WIN32
#define used_type wchar_t
#else
#define used_type char
#endif
/** \endcond */
/**
 * Documentation for Windows goes here...
 *
 * Documentation for Non-Windows goes here...
 */
typedef used_type MyChar;

导致:

在此处输入图像描述


推荐阅读