| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Fortran > [General] F77 -> F9x |
| Автор: Cross 16.5.2009, 01:34 | ||||||
| Здравствуйте! Есть у меня программа на Фортране 77 написанная... (не мной) Мне надо эту программу переделать под Фортран 90. Я использую Эклипс и компилятор gfortran. Так вот при компиляции выдается одна ошибка:
Вот отрывок из файла krd_dat.f90
Переменная r0grr определяется в common-блоке:
Насколько я понимаю программа видит эту переменную как модуль? И что делать??? |
| Автор: FCM 16.5.2009, 13:35 |
| По такой отрывочной информации трудно о чем-то судить. Как именуется соответствующий COMMON-блок? Во всех ли программных единицах, где он объявлен, определены (указан тип и т.п.) его компоненты? PS/ Eclipse (+ Photran?) + gfortran - насколько надежно это работает ? |
| Автор: Cross 16.5.2009, 15:59 | ||
| Работает надежно, но только если самостоятельно писать makefile. В начале подпрограммы подключаю common-блок как модуль :
А что нужно еще делать? |
| Автор: FCM 16.5.2009, 16:13 | ||||||
| COMMON- блоки не подключают как модуль (т.е. с помощью USE). Но модули можно использовать вместо COMMON-блоков. Например, если необходимо, чтобы в нескольких программных ед-цах были доступны некоторые REAL(8)-переменные A и B , причем не через параметры процедур. то можно поступить 2-мя способами: 1) либо в каждой программной ед-це в разделе описаний использовать инструкции
2) либо создать в рамках проекта исходник с модулем, например по имени MOD1 следующего содержания
и включать его в каждую программную ед-цу, где нужны A, B инструкцией
|