Spec-Zone.ru › GNU Fortran 11

6.1.25 AUTOMATIC и STATIC атрибуты

С помощью -fdec-static GNU Fortran поддерживает расширенные атрибуты DEC STATIC и AUTOMATIC для явного указания хранения сущностей. Они следуют синтаксису атрибута стандарта Fortran SAVE.

STATIC точно эквивалентно SAVE, и указывает, что сущность должна быть выделена в статической памяти. В качестве примера, STATIC локальные переменные сохранят свои значения между несколькими вызовами функции.

Сущности, помеченные AUTOMATIC, будут автоматически размещаться в стеке, когда это возможно. AUTOMATIC является значением по умолчанию для локальных переменных, меньших, чем -fmax-stack-var-size, если не указан -fno-automatic. Этот атрибут переопределяет -fno-automatic, -fmax-stack-var-size и общие SAVE операторы.

Примеры:

subroutine f
  integer, automatic :: i  ! automatic variable
  integer x, y             ! static variables
  save
  ...
endsubroutine
subroutine f
  integer a, b, c, x, y, z
  static :: x
  save y
  automatic z, c
  ! a, b, c, and z are automatic
  ! x and y are static
endsubroutine
! Compiled with -fno-automatic
subroutine f
  integer a, b, c, d
  automatic :: a
  ! a is automatic; b, c, and d are static
endsubroutine

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gfortran/AUTOMATIC-and-STATIC-attributes.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API