у меня есть модуль 'gvars', определенный для моих объявлений глобальных переменных.когда я определяю integer :: nthreads, max_threads, tid, omp_get_max_threads, omp_get_num_threads, omp_get_thread_num
внутри моего модуля gvars, вызов maxthreads = omp_get_max_threads()
в моей основной процедуре выдает мне следующую ошибку при компиляции:
maxthreads = omp_get_max_threads()
1
Error: Unclassifiable statement at (1)
, но когда я включаю определения integer ::
выше в мойОсновная рутина, она прекрасно компилируется и дает мне желаемый результат.если я даже дошёл до определения nthreads = -1
внутри моего модуля gvars, я смогу распечатать правильное значение в моей основной подпрограмме, так что я знаю, что оно включено и определено правильно, просто по какой-то причине я не могу иметьэто как возвращаемое значение из функций openmp.
с чего бы это?
Есть ли другой способ сохранить эти значения как глобальные переменные и по-прежнему определять их в моей основной подпрограмме вместо модуля?
если это имеет значение, я использую gfortran для компиляции