Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.02.2011, 14:23   #1
capta1n
Форумчанин
 
Аватар для capta1n
 
Регистрация: 06.12.2008
Сообщений: 613
По умолчанию fortran, подключение модуля

здравствуйте

есть модуль (файл "consts.fi"):

Код:
module consts
contains
	real, parameter :: a = 2.0;
	real, parameter :: b = 3.0;
	real, parameter :: c = 3.0;
	real, parameter :: d = 4.0;
end module consts;
есть головная программа (файл "main.f90"):

Код:
program matmod_curs;
	implicit none;
		use consts;
		print *, a;
end program matmod_curs;
оба они описаны в разных файлах, как вы поняли

построение, компилирование и линкование происходит в IDE VS2010

на этапе построения возникает ошибка
"Unable to open MODULE file consts.mod"

то есть он не может найти объектный файл моего модуля

ну и соответственно, он не может найти постоянную "a"

вопрос такой: как сделать объектный файл моего модуля, чтобы ошибка не возникала
или другими словами - какие должны быть мои действия, чтобы модуль, описанный в файле "consts.fi", подключился, и все заработало
capta1n вне форума Ответить с цитированием
Старый 13.02.2011, 16:42   #2
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

Цитата:
Сообщение от capta1n Посмотреть сообщение
какие должны быть мои действия, чтобы модуль, описанный в файле "consts.fi", подключился
Использовать директиву INCLUDE

Цитата:
Сообщение от capta1n Посмотреть сообщение
и все заработало
(По крайней мере так было в LAHEY 5 и в COMPAQ 6.6):
1. CONTAINS "прячет" только ф-ии / процедуры. Декларации нельзя им отделять.
2. USE должно стоять до каких бы то ни было иных объявлений.

Короче говоря:
Код:
module consts
   real, parameter :: a = 2.0;
   real, parameter :: b = 3.0;
   real, parameter :: c = 3.0;
   real, parameter :: d = 4.0;
end module consts;
Код:
include 'consts.fi'

program matmod_curs;
    use consts;
    implicit none;
    print *, a;
end program matmod_curs;
Vago вне форума Ответить с цитированием
Старый 13.02.2011, 17:18   #3
capta1n
Форумчанин
 
Аватар для capta1n
 
Регистрация: 06.12.2008
Сообщений: 613
По умолчанию

все четко и понятно, как профессионал, без лишней муры, как обычно на этом форуме бывает
спасибо, премного благодарен
capta1n вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Pascal: подключение модуля Graph sir.andrey Помощь студентам 17 09.04.2010 13:26
подключение модуля Takada_sony Помощь студентам 1 31.03.2010 16:02
Подключение модуля Thunder Общие вопросы Delphi 6 26.06.2009 13:22