我使用的doxygen 1.8.11连同eclipse插件eclox。我想为我的源文件的调用图。当我在文件中的一个检查我注意到调用图包含一个函数调用它实际上是由#define
我的期望是不希望看到在调用图调用这个函数禁用。
源文件的顶部:
#define MACRO_NAME FALSE
....
void Func_1(int *p)
{
....
#if (MACRO_NAME == TRUE)
Func_Call_2()
#else
Func_Call_3()
#endif
}
FALSE和TRUE在我包括在设置中的“包含路径”的头一个定义,我也得为FALSE和TRUE所以doxygen的是能够找到定义HTML报告的超链接。
既Func_Call_2和Func_Call_3()被描绘在调用图的时候,居然我只希望看到Func_Call_3()。
我在的Doxyfile设置为:
Enable Preprocessing YES
Macro Expansion NO
Expand Only Predefined NO
Search Includes YES
Extract All YES
Extract Static YES
我也试图与Macro Expansion
是后来我在所有的只是设置回NO调用图后,在HTML文件中再次绘制了无调用图此功能Func_1
其中FALSE/TRUE
被定义在头文件开始这样的:
#ifndef HEADER_H
#define HEADER_H
.....
#ifndef TRUE
#define TRUE 1
#endif
#ifndef FALSE
#define FALSE 0
#endif
还有没有其他的设置,我可以试试吗?使doxygen的将提请没有禁用代码调用图?
你可以尝试以下建议之一:
TRUE
和FALSE
但1
并直接0
的定义,并在条件MACRO_NAME
。MACRO_NAME
的值,而是检查它是否被定义或没有。