如何在这个示例fortran代码上使用doxygen预处理器?

时间:2013-09-16 21:16:07

标签: fortran preprocessor doxygen

在名为lib_angles.f90的fortran源文件中,我有以下函数声明

#ifdef NDEBUG  
pure function la_get_quadrant(A)  
#else  
function la_get_quadrant(A)  
#endif

我在配置文件中使用以下设置

ENABLE_PREPROCESSING   = YES
MACRO_EXPANSION        = NO
PREDEFINED             = NDEBUG

运行最新版本的doxygen(1.8.5)会产生以下输出,

(...)
Reading /home/pmginacio/bin/doc/test/lib_angles.f90...  
Parsing file /home/pmginacio/bin/doc/test/lib_angles.f90...  
********************************************************************  
Error in file /home/pmginacio/bin/doc/test/lib_angles.f90 line: 38, state: 4  
********************************************************************  
Segmentation fault (core dumped)  

问题似乎在于预处理器没有选择其中一个函数声明。当我在代码中评论其中一个时,

#ifdef NDEBUG  
pure function la_get_quadrant(A)  
#else  
!function la_get_quadrant(A)  
#endif

doxygen正常执行。

为什么呢?应该如何使用预处理器?

0 个答案:

没有答案