c - 调用图中缺少宏函数

标签 c doxygen

使用的 Doxygen 版本:1.8.11

我有以下代码:

void func();   

void main ()
{
    func();
}

当我运行 Doxygen 图形生成时,输出是正确的:

enter image description here

但是,如果我使用函数宏:

void func();   
#define  MACRO func

void main ()
{
    MACRO();
}

输出不正确,因为缺少被调用的函数:

enter image description here

我应该如何设置预处理器标志才能使其工作?到目前为止,我尝试过的任何组合都失败了。

谢谢


编辑:预处理后添加的代码

# 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/

相关文章:

c - 这个 C 语句是做什么的?

c++ - 如何在 Doxygen 中记录一个单词,它是代码中的实体名称,但在当前上下文中不是?

c++ - Doxygen:使用 C++ 和 VHDL 的项目的无缝文档

doxygen - 将 "internal"与 doxygen 中的 "external"文档分开

php - 使用 Doxygen 时构建文档

C 内联函数和内存使用

c - 如何将子控件放置在组框内?

c - 将两个数减为一个数

c - 在 C 中的 for 循环中重新声明变量

doxygen - 如何使doxygen在html中使用节编号