使用的 Doxygen 版本:1.8.11
我有以下代码:
void func();
void main ()
{
func();
}
当我运行 Doxygen 图形生成时,输出是正确的:
但是,如果我使用函数宏:
void func();
#define MACRO func
void main ()
{
MACRO();
}
输出不正确,因为缺少被调用的函数:
我应该如何设置预处理器标志才能使其工作?到目前为止,我尝试过的任何组合都失败了。
谢谢
编辑:预处理后添加的代码
# 1 "test.c"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "/usr/include/stdc-predef.h" 1 3 4
# 1 "<command-line>" 2
# 1 "test.c"
void func();
void main ()
{
func();
}
最佳答案
如果您的系统上安装了 clang,您可以在 Doxyfile 中启用 CLANG_ASSISTED_PARSING
选项,它比 doxygen 内置预处理器更准确但速度稍慢。这会在我的系统上生成正确的调用图。
关于c - 调用图中缺少宏函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70676982/