跳转到内容

Fortran/Fortran 文档

来自维基教科书,自由的教科书

FORD - FORtran 文档工具

[编辑 | 编辑源代码]

FORD 是一个用于文档化 Fortran 源代码的优秀程序。

有关安装和使用 FORD 的说明,请参见 github 页面:github.com

使用 Doxygen 文档化 Fortran

[编辑 | 编辑源代码]

可以使用 Doxygen 直接从源代码创建文档。

命令行程序 doxygen 使用配置文件创建文档。GUI 程序 doxygen-wizard 帮助创建这些文件。

源代码需要使用特殊的 注释语法 进行文档化: !> !!

始终应在配置文件中设置 OPTIMIZE_FOR_FORTRAN = YES

Doxygen 命令通常以空注释行或新的 doxygen 命令结束。

注意,Doxygen 对 Fortran 的支持相当差。即使是 type 内的 public/private 语句等简单结构也不受支持(参见 github.com)。

您也可以在文档中包含 LaTeX 代码。Doxygen 网站 提供了详细的信息。

子程序

[编辑 | 编辑源代码]
!> @brief inserts a value into an ordered array
!!
!! An array "list" consisting of n ascending ordered values. The method insert a
!! "new_entry" into the array.
!! hint: use cshift and eo-shift
!!
!! @param[in,out]   list    a real array, size: max_size
!! @param[in]       n       current values in the array
!! @param[in]       max_size    size if the array
!! @param[in]       new_entry   the value to insert
subroutine insert(list, n, max_size, new_entry)
    implicit none
    real, dimension (:), intent (inout) :: list
    integer, intent (in) :: n, max_size
    real, intent (in) :: new_entry

    ! code ........
end subroutine insert
!> @brief calcs the angle between two given vectors
!!
!! using the standard formula:
!!  \f$\cos \theta = \frac{ \vec v \cdot \vec w}{\abs{v}\abs{w}}\f$.
!!
!! @param[in]   \f$v,w\f$   real vectors
!! @return  a real value describing the angle. 0 if \f$\abs v\f$ or \f$\abs w\f$ below a
!!          threshold.
pure function calc_angle(v, w) result (theta)
  implicit none
  real, dimension (:), intent (in) :: v, w
  real :: theta

  ! code .......
end function calc_angle

故障排除

[编辑 | 编辑源代码]

空文档

[编辑 | 编辑源代码]

如果文档只是一张空页面,您可以尝试设置 EXTRACT_ALL = YES

华夏公益教科书