Будет ли массив массивов делать память более управляемой, чем объявлять выделяемые? - PullRequest
1 голос
/ 18 февраля 2020

Проблема возникла из-за расширения кода Fortran 90 среднего размера (~ 8000 строк). Мне не удалось выделить проблему в исполняемый модуль.

Дело в том, что существует массив, объявленный как

    integer,     allocatable  :: somename(:,:)

Компиляция его с помощью ifort приводит к

forrtl: severe (174): SIGSEGV, segmentation fault occurred

Когда я добавлю

        if (.not. allocated(somename))   allocate(somename(somedim1,somedim2))      

Код будет работать нормально.

Мой вопрос заключается в том, позволяет ли выделение переменной с явным измерением как-то улучшить управление памятью и избежать ошибки сегментации?

PS Я спросил у разработчика стека обмена , но я не уверен, что здесь более уместно.

...