【发布时间】:2011-04-03 07:19:25
【问题描述】:
我目前有几个#define in c 文件,它们关闭了硬件的某些功能以进行测试。但是,当它们未定义时,我想用 doxygen 记录它们。
例如:
这很好用:
/// \def SIMULATE_SOME_HW_INTERFACE
/// Define this when you want to simulate HW interface.
#define SIMULATE_SOME_HW_INTERFACE
当您将 #define 更改为 #undef 时,您会在 doxygen 中收到警告,并且它不会显示在 doxygen 生成的输出中。我想记录这个 #define 是否已定义或未定义。
如何强制 doxygen 记录 #undef???
【问题讨论】:
-
可能最好的解决方案不是#define 你需要的#undef-ine。根据我的经验,#undef 仅用于进行技巧/黑客攻击
-
这是一种黑客行为。我想编写大量代码来处理未安装在开发机器上的专用硬件,但在需要在实际目标机器上运行时轻松启用它。
-
作为关于 undef 的一个非常重要的警告 - 我曾经为 Apple 修复了一个已经存在 18 个月的错误。 Quicktime 标头依赖于递归地包含在条件定义中,并且传统的保护变量未定义。后来,有人添加了
#pragma once,这意味着编译器破坏了递归包含。