Я работаю с библиотекой ParallelIO, бесплатной библиотекой программного обеспечения для высокопроизводительных вычислений (HPC) ввода-вывода с NetCDF-подобным API.
В некотором коде фортрана у меня есть файл с именем piolib_mod.F90, который запускается:
!>
!! @file
!! @brief Initialization Routines for PIO
#define __PIO_FILE__ "piolib_mod.F90"
Это выдает предупреждение о кислороде:
/home/ed/tmp/ParallelIO/src/flib/piolib_mod.F90:4: warning: Member __PIO_FILE__ (macro definition) of file piolib_mod.F90 is not documented.
Но что бы я ни делал, я не могу заставить себя принять определение документации для этого макроса. Я пробовал:
!> for debugging
#define __PIO_FILE__ "piolib_mod.f90"
также:
!> @def __PIO_FILE__ for debugging
#define __PIO_FILE__ "piolib_mod.f90"
Я пытался исключить эту строку из обработки кислородом:
!> @cond exclude
#define __PIO_FILE__ 'piodarray'
!> @endcond
Но это тоже не работает.
Doxygen может быть сбит с толку концепцией макропроцессора в файле Fortran, но это только 21-й век для вас, дорогие суперкомпьютеры и языки программирования 1960-х годов.
Как мне документировать определение препроцессора с помощью doxygen?