Когда распределяются статические массивы и когда они освобождаются? - PullRequest
0 голосов
/ 21 мая 2019

Для ясности, давайте определим статические массивы как массивы, форма и границы которых известны во время компиляции, и определим автоматические массивы как массивы, форма и границы которых неизвестны во время компиляции, но не являются allocatable массивами Фортрана. В Фортране автоматические массивы могут появляться только в subroutine/function. И save не допускается для автоматических массивов.

В subroutine/function значения статического массива можно сохранить между вызовами, указав save. Рассмотрим случай отсутствия указания save для статического массива в subroutine. Тогда будет ли статический массив автоматически освобождаться каждый раз, когда подпрограмма возвращается? Если это так, то статические массивы ведут себя так же, как автоматические массивы, что означает отсутствие преимущества в производительности по сравнению с автоматическими массивами. Возможно ли, что все статические массивы выделяются в начале цикла и никогда не освобождаются до завершения программы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...