gpt4 book ai didi

documentation - 如何确保文档显示备用 #ifdef 代码

转载 作者:行者123 更新时间:2023-12-01 09:36:53 25 4
gpt4 key购买 nike

我正在开发一个跨平台的库。有些代码是平台相关的,所以我必须使用 #ifdef 将它们分开。 ,检查平台类型。我将一个类(class)分成两个类(class),每个类(class)都有自己的平台。这些类有不同的名称,但最后我需要typedef根据平台将这些类归为一种类型:

#ifdef UNIX
/** some comment */
typedef Key_unix Key;
#elif WIN
/** another comment */
typedef Key_win Key;
#endif

生成的文档仅显示第一个 typedef有两个评论。我如何才能同时显示 typedef s 在一起,每个人都有自己的评论?

最佳答案

据我了解,doxygen 有自己的预处理器,可以评估 #ifdefs。您可以使用 PREDEFINED 定义宏选项。

# The PREDEFINED tag can be used to specify one or more macro names that 
# are defined before the preprocessor is started (similar to the -D option of
# gcc). The argument of the tag is a list of macros of the form: name
# or name=definition (no spaces). If the definition and the = are
# omitted =1 is assumed. To prevent a macro definition from being
# undefined via #undef or recursively expanded use the := operator
# instead of the = operator.

但是,因为即使您设置了 PREDEFINED = UNIX WIN,您也有一个 #elif它只会评估第一个#ifdef。作为替代方案,您可以随时尝试:
#ifdef UNIX
/** some comment */
typedef Key_unix Key;
#endif
#ifdef WIN
/** another comment */
typedef Key_win Key;
#endif

编译代码时不太可能同时定义 UNIX 和 WIN。

关于documentation - 如何确保文档显示备用 #ifdef 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6028434/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com