我正在用 C 编写一个小程序,我想记录它以便其他人可以更改一些细节。我用 #define
写了一个 config.h 文件来启用或不启用某些操作,其中一些是互斥的,另一些则不是。
不互斥的例子:
#define USE_A
#define USE_B
#define USE_C
互斥的例子:
#define BUILD_FULL
#define BUILD_COMPACT
到目前为止,我通过记录我不想使用的功能来选择要编译的程序的配置,例如:
//#define BUILD_FULL
#define BUILD_COMPACT
构建 COMPACT 可执行文件。
如何为注释掉的功能编写文档?
我试过:
#define USE_A //!< Special Feature
#define USE_B //!< Special Feature
//#define USE_C //!< Special Feature
我没有使用 USE_C
编译它,但显然我丢失了文档,因为 doxygen 没有解析它。如果我误解了定义的正确使用方式,您将如何重写 #define
流程?
最佳答案
您可以测试宏的值,而不仅仅是它的存在。例如,使用 0 禁用一个选项,或使用 1 启用它。然后,使用 #if
而不是 #ifdef
来测试条件。
#define USE_A 1 //!< Special Feature
#define USE_B 1 //!< Special Feature
#define USE_C 0 //!< Special Feature
#if USE_A
...
#elif USE_C
...
#endif
关于c - 文档互斥定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10278211/