2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу 1, 2, 3  След.
 
 Fortran 95-2003 под Windows, с оболочкой ?
Сообщение04.12.2017, 00:32 


22/12/11
66
У меня кончилась лицензия на интеловский фортран, который я использовал с Visual Studio оболочкой.

Буду очень благодарен за подсказки бесплатного или недорогого аналога:
нужна под Windows оболочка, позволяющая компилировать код, указывающая на строки с ошибками в коде и позволяющая искать ошибки в дебагере + компилятор под эту оболочку, позволяющий работать со стандартами Фортрана от 95-го до 2003 -го.

Кто-нибудь использовал подобный софт?

Сразу скажу, что опыта сборки программ под Юниксом у меня никакого нет, работаю исключительно под Windows, пишу на Фортране, опыта с Си - нет никакого, т.ч. самостоятельно собрать (скомпилировать) я ничего не смогу, мне нужен готовый дистрибутив оболочки + компилятора более-менее современного фортрана под Windows-7 и Windows-10.

Забыл добавить, на всякий случай: мои программы на фортране - состоят из множества файлов, поэтому нужно чтобы искомое программное обеспечение - позволяло работать не с одним файлом, а создавать проект из нескольких файлов.

 Профиль  
                  
 
 Re: Fortran 95-2003 под Windows, с оболочкой ?
Сообщение04.12.2017, 01:24 
Заслуженный участник


28/04/09
1933
В качестве компилятора попробуйте gfortran. Его можно обнаружить в составе Mingw-w64, у которого есть готовая сборка под Windows.
В качестве IDE можно взять NetBeans. Eclipse и Qt Creator также, вероятно, можно подружить с gfortran.
Правда, могут возникнуть трудности с самим языком. Кажется, gfortran все-таки отличается большей строгостью в плане отношения к стандартам языка, чем Intel-овский компилятор, и может не поддерживать разнообразные расширения языка, вводимые и/или поддерживаемые компилятором от Intel.

 Профиль  
                  
 
 Re: Fortran 95-2003 под Windows, с оболочкой ?
Сообщение05.12.2017, 18:47 


22/12/11
66
EtCetera в сообщении #1271755 писал(а):
В качестве компилятора попробуйте gfortran. Его можно обнаружить в составе Mingw-w64, у которого есть готовая сборка под Windows.
В качестве IDE можно взять NetBeans. Eclipse и Qt Creator также, вероятно, можно подружить с gfortran.
Правда, могут возникнуть трудности с самим языком. Кажется, gfortran все-таки отличается большей строгостью в плане отношения к стандартам языка, чем Intel-овский компилятор, и может не поддерживать разнообразные расширения языка, вводимые и/или поддерживаемые компилятором от Intel.

Попробовал поставить Mingw-w64, а затем оболочку netbeans (по описанию она мне понравилась) - после запуска оболочки сразу обнаружил, что при нажатии кнопки "создать новый проект" (или из меню аналогичное действие) - ничего не происходит - ничего не создается!
Может конечно это потому, что я при установке галочкой отметил основные компонентs + Сi++ + HTML, но не отметил многочисленные приблуды для работы с java- приложениями, которые мне не нужны.. Но они не позиционировались, как обязательные.

Попробовал для поддержки зарегистрироваться на форуме netbeans - тоже ничего не происходит - письмо для подтверждения регистрации - не приходит...

Короче говоря - проблема с софтом остается....

 Профиль  
                  
 
 Re: Fortran 95-2003 под Windows, с оболочкой ?
Сообщение06.12.2017, 02:41 


22/12/11
66
Удалось наконец зарегистрироваться в службе поддержки NetBeams - отправил туда письмо... Но не уверен, что что-нибудь получится с этим продуктом, т.к. он после установки - вообще жутко тормозил при открытии, + вышеупомянутая невозможность открытия нового проекта.

Eclipse и Qt Creator - не годятся - по умолчанию, поддержки фортрана там нет, а я не являюсь "хакером", т.е. являюсь "юзером", т.ч. сложную настройку продукта или его перекомпиляцию не осилю.

Кто-нибудь может подсказать, что еще, кроме NetBeams (который изначально понравился, но похоже вряд ли заработает) - можно использовать для более-менее удобной работы из windows-
подобной оболочки с отладчиком программ, написанных на фортране ?

(Mingw я установил, но пока не довелось проверить, работает ли транслятор фортрана в составе этого пакета)

 Профиль  
                  
 
 Re: Fortran 95-2003 под Windows, с оболочкой ?
Сообщение06.12.2017, 19:12 
Заслуженный участник
Аватара пользователя


11/04/08
2748
Физтех
bme в сообщении #1272481 писал(а):
Кто-нибудь может подсказать, что еще, кроме NetBeams ... можно использовать для более-менее удобной работы из windows-подобной оболочки с отладчиком программ, написанных на фортране ?
CodeBlocks.

 Профиль  
                  
 
 Re: Fortran 95-2003 под Windows, с оболочкой ?
Сообщение06.12.2017, 22:03 


22/12/11
66
ShMaxG в сообщении #1272656 писал(а):
bme в сообщении #1272481 писал(а):
Кто-нибудь может подсказать, что еще, кроме NetBeams ... можно использовать для более-менее удобной работы из windows-подобной оболочки с отладчиком программ, написанных на фортране ?
CodeBlocks.


Спасибо! На первый взгляд - годный продукт.
А насколько удобно работать с отладчиком в CodeBlocks, по сравнению с теми же NetBeams и Microsoft Visual Studio ?

 Профиль  
                  
 
 Re: Fortran 95-2003 под Windows, с оболочкой ?
Сообщение06.12.2017, 23:17 
Заслуженный участник


28/04/09
1933
bme в сообщении #1272298 писал(а):
Попробовал поставить Mingw-w64, а затем оболочку netbeans (по описанию она мне понравилась) - после запуска оболочки сразу обнаружил, что при нажатии кнопки "создать новый проект" (или из меню аналогичное действие) - ничего не происходит - ничего не создается!
Может конечно это потому, что я при установке галочкой отметил основные компонентs + Сi++ + HTML, но не отметил многочисленные приблуды для работы с java- приложениями, которые мне не нужны.. Но они не позиционировались, как обязательные.
Если Вы скачали полный установщик, то для работы с Fortran-ом достаточно было отметить галочками только два компонента: Base IDE и C/C++ (можно было сразу скачать установщик, содержащий только эти компоненты).

Но после установки надо немного повозиться. Я несколько лет не притрагивался к NetBeans, поэтому извиняюсь за некоторую дезинформацию, допущенную ранее. Вот правильная последовательность шагов, которая позволяет заставить NetBeans работать вместе с gfortran:
  1. Как выяснилось, сейчас в сборку Win-builds почему-то не включается gfortran. Поэтому нужно найти сборку Mingw-w64, которая будет его включать:
    • Вот ссылка на скачивание пригодной свежей 64-битной сборки. Можете сами поискать в соседних каталогах более подходящие для Вас варианты, если этот не устроит.
    • Содержимое этого 7z-архива надо распаковать в какой-то каталог, обозначим его %MINGW%.
  2. Также NetBeans для сборки и выполнения вспомогательных операций по проекту потребуется MSYS:
    • Скачайте отсюда архив MSYS-20111123.zip.
    • Распакуйте его содержимое в другой каталог (обозначим его %MSYS%).
  3. Далее необходимо настроить NetBeans.
    • Выберите пункт меню ToolsOptions, перейдите на вкладку C/C++, в ней — на вкладку Build Tools. Нажмите на кнопку Activate (если она у Вас присутствует). Появится полноценный диалог настроек сборки проектов C/C++ и Fortran.
    • Нажмите кнопку Add. В появившемся диалоге в качестве Base Directory укажите каталог %MINGW%/bin. В качестве Tool Collection Family задайте GNU Mingw. Нажмите OK.
    • В форме Build Tools должны прописаться пути ко всем инструментам, кроме QMake Command и CMake Command, которые Вам не нужны. Путь к Make Command также будет пуст, задайте его самостоятельно — это путь к файлу %MSYS%/bin/make.exe.
    • Теперь можете сохранить все настройки (нажав OK).
  4. После этого можно приступать к созданию проекта:
    • Выберите пункт меню FileNew Project..., в качестве типа проекта в открывшемся диалоговом окне выберите C/C++ Application.
    • Далее необходимо указать название проекта и каталог, в котором он будет сохранен.
    • Отщелкните галочку Create Main File.
    • Нажмите кнопку Finish.
  5. Создайте файл с кодом программы:
    • Вызовите контекстное меню на узле Source Files дерева проекта и выберите пункт меню NewFortran File (Free Format)..., задайте имя будущего файла с кодом.
    • В качестве расширения выберите одно из следующих:
      • f90Fortran 90;
      • f95Fortran 95;
      • f03Fortran 2003;
      • f08Fortran 2008.
      Не рекомендую выбирать расширение f, т.к. при этом в коде потребуется указывать перед каждой строкой числовую метку и мириться с прочими прелестями старых стандартов Fortran-а.
    • Нажмите кнопку Finish, будет создан файл, код в котором выводит на консоль строку "Hello World".
  6. Не меняя его, проверьте, что проект собирается:
    • Нажмите на зеленую кнопку на панели инструментов (Run Program).
    • Если все пройдет успешно, проект соберется и скомпилированная программа запустится, а ее вывод будет перенаправлен в область Output внизу главного окна NetBeans.

bme в сообщении #1272481 писал(а):
Eclipse и Qt Creator - не годятся - по умолчанию, поддержки фортрана там нет, а я не являюсь "хакером", т.е. являюсь "юзером", т.ч. сложную настройку продукта или его перекомпиляцию не осилю.
Насколько я помню, Qt Creator никакой перекомпиляции для работы с Fortran-ом не требовал. Конечно, возможно, что память меня подводит.

 Профиль  
                  
 
 Re: Fortran 95-2003 под Windows, с оболочкой ?
Сообщение07.12.2017, 09:16 


22/12/11
66
EtCetera в сообщении #1272743 писал(а):
Если Вы скачали полный установщик, то для работы с Fortran-ом достаточно было отметить галочками только два компонента: Base IDE и C/C++ (можно было сразу скачать установщик, содержащий только эти компоненты).

Но после установки надо немного повозиться.
....

Большое спасибо за столь подробную инструкцию!

А имеет ли вообще смысл возиться с Netbeams, если процесс установки другой оболочки - CodeBlocks (см выше) и ее связи с предустановленным пакетом Mingw - как оказалось, намного проще?

P.S:
Еще я столкнулся с такой проблемой (см. тема в другом разделе форума) при переходе от интеловского к gfortran-у (у разных компиляторов - разные имена для одной и той же встроенной функции - функции Бесселя). Понимаю, как ее можно решить плохим способом, но хотелось бы решить хорошим...

 Профиль  
                  
 
 Re: Fortran 95-2003 под Windows, с оболочкой ?
Сообщение07.12.2017, 09:35 
Заслуженный участник


16/02/13
4195
Владивосток
Хороших способов, увы, нет. Во времена, когда разрабатывали Фортран, к стандартам подходили не так строго, как сейчас. Помнится, пробегал глазами статеечку по сравнению дести компиляторов Фортрана (ещё на ЕС ЭВМ). Был выявлен оператор, который работал одинаково во всех их: GOTO 5. Все прочие имели тонкости.

 Профиль  
                  
 
 Re: Fortran 95-2003 под Windows, с оболочкой ?
Сообщение07.12.2017, 11:00 
Заслуженный участник
Аватара пользователя


11/04/08
2748
Физтех
bme в сообщении #1272709 писал(а):
А насколько удобно работать с отладчиком в CodeBlocks, по сравнению с теми же NetBeams и Microsoft Visual Studio ?
Когда-то я тоже искал годную среду для программирования на Fortran, перепробовал очень много вариантов (кроме NetBeams). В итоге из бесплатных я выбрал CodeBlocks, но в какой-то момент отладчик перестал работать, я так и не разобрался в чем дело. Хотелось программировать, а не настраивать среду. В итоге я плюнул на все и купил компилятор от Intel (конкретно -- Intel Parallel Studio XE Composer Edition for Fortran and C++ Windows 2017), работаю из Visual Studio и мне кажется это самый удобный вариант, как минимум потому что работал в Visual Studio и раньше. К слову сказать, лицензия вечная, просто поддержка дается на год, но ее и не обязательно каждый год обновлять.

 Профиль  
                  
 
 Re: Fortran 95-2003 под Windows, с оболочкой ?
Сообщение07.12.2017, 11:41 
Заслуженный участник


09/05/12
25179
iifat в сообщении #1272807 писал(а):
Во времена, когда разрабатывали Фортран, к стандартам подходили не так строго, как сейчас.
Все там хорошо со стандартами. Просто функции Бесселя стандартом не предусмотрены, а использование компиляторозависимых расширений - личный выбор программиста, имеющий и некоторые издержки.

 Профиль  
                  
 
 Re: Fortran 95-2003 под Windows, с оболочкой ?
Сообщение07.12.2017, 14:08 
Заслуженный участник


28/04/09
1933
bme в сообщении #1272806 писал(а):
А имеет ли вообще смысл возиться с Netbeams, если процесс установки другой оболочки - CodeBlocks (см выше) и ее связи с предустановленным пакетом Mingw - как оказалось, намного проще?
Насколько я понял, Code::Blocks поставляется со старинной сборкой MinGW версии 4.9.2. Я же предлагал Вам скачать свежую сборку 7.2.0. Между этими двумя версиями в gfortran были внесены некоторые изменения. Конечно, возможно, они для Вас несущественны.

Pphantom в сообщении #1272824 писал(а):
Просто функции Бесселя стандартом не предусмотрены, а использование компиляторозависимых расширений - личный выбор программиста, имеющий и некоторые издержки.
Если судить по final drafts (которые обычно практически не отличаются от утвержденного текста стандарта), в Fortran 2008 функции Бесселя прописались в стандарте: см. таблицу 13.1 Standard generic intrinsic procedure summary и пункты 13.7.22–13.7.27 в главе 13.7 Specifications of the standard intrinsic procedures. Называются они так:
  • BESSEL_J0,
  • BESSEL_J1,
  • BESSEL_JN (перегружена),
  • BESSEL_Y0,
  • BESSEL_Y1,
  • BESSEL_YN (перегружена).

 Профиль  
                  
 
 Re: Fortran 95-2003 под Windows, с оболочкой ?
Сообщение07.12.2017, 17:05 


22/12/11
66
Всем спасибо за ответы!

А может кто-нибудь подсказать по такому предмету: я сейчас пытаюсь запустить проект под оболочкой Code::Blocks, которая сразу легко поставилась и самостоятельно установила связь с фортраном из ранее установленного пакета Mingw.

Из этой оболочки мне удалось скомпилировать все мои файлы и построить исполняемый код - exe - файл. Но этот файл - не запускается! Система пишет: my_program.exe не является приложением win32 !

Я взял для примера стандартный код Hellow word! - этот код нормально запускается, значит система вроде работает. (Правда перед нормальным запуском мне пришлось скопировать библиотеки libgcc_s_dw2-1.dll, libgfortran-3.dll и libquadmath-0.dll
из c:\MinGW\bin\ в папку c:\Windows\System32\ - без этого система их не видела почему-то).

Однако мой код - не запускается! Товарищ, разбирающийся немного в программировании - говорит, что возможно у компилятора стоят какие-то оптимизации, не понимаемые моим процессором. Но мой процессор - Intel (R) Core (TM) i7 -2600 K СPU - достаточно новый. Я пробовал посмотреть Build options - вроде там даже не было отмечено никаких особых опций, я зашел во вкладку CPU architecture tunning и отметил там галочку -
Intel Core i7 TPU (отличается от моего процессора тем, что на конце названия стоит TPU, а не СPU) - к результату это не привело!
В компиляторе там стоит GNU fortran compiller.

Самое интересное, что когда недавно я попробовал поставить совершенно другую систему -
Microsoft Visual Studio 13 и Intel Fortran Composer 2015 - то также код странслировался, но полученный экзешник - при запуске выдавал тоже самое - my_program.exe не является приложением win32 ! Но до этого - этот же самый мой код - после трансляции с более старой версией Intel - фортрана (2011)- выдавал нормально запускаемый на моем компе с Windows 7 экзешник!

В общем, я в тупике - не понимаю, что происходит :(((.
Кто может - подскажите пожалуйста.

 Профиль  
                  
 
 Re: Fortran 95-2003 под Windows, с оболочкой ?
Сообщение07.12.2017, 17:17 
Заслуженный участник


28/04/09
1933
bme в сообщении #1272887 писал(а):
А может кто-нибудь подсказать по такому предмету: я сейчас пытаюсь запустить проект под оболочкой Code::Blocks, которая сразу легко поставилась и самостоятельно установила связь с фортраном из ранее установленного пакета Mingw.
Это похоже на фантастику. Вы какой из установщиков Code::Blocks скачали?
bme в сообщении #1272887 писал(а):
Из этой оболочки мне удалось скомпилировать все мои файлы и построить исполняемый код - exe - файл. Но этот файл - не запускается! Система пишет: my_program.exe не является приложением win32!
У Вас 32-битная система или 64-битная?

 Профиль  
                  
 
 Re: Fortran 95-2003 под Windows, с оболочкой ?
Сообщение07.12.2017, 19:19 


22/12/11
66
EtCetera в сообщении #1272888 писал(а):
bme в сообщении #1272887 писал(а):
А может кто-нибудь подсказать по такому предмету: я сейчас пытаюсь запустить проект под оболочкой Code::Blocks, которая сразу легко поставилась и самостоятельно установила связь с фортраном из ранее установленного пакета Mingw.
Это похоже на фантастику. Вы какой из установщиков Code::Blocks скачали?


Я качал немного не отсюда: я качал специальную сборку под фортран, файл
CodeBlocks_Fortran_v1.4_Win.zip
вот отсюда: http://cbfortran.sourceforge.net/downloads/

EtCetera в сообщении #1272888 писал(а):
bme в сообщении #1272887 писал(а):
Из этой оболочки мне удалось скомпилировать все мои файлы и построить исполняемый код - exe - файл. Но этот файл - не запускается! Система пишет: my_program.exe не является приложением win32!
У Вас 32-битная система или 64-битная?

У меня Windows 7 профессиональная, 64 - разрядная.

Повторяю - тестовый пример с 1 строкой "Hellow word"- запустился, а мой регулярный фортрановский код (написанный в соответствии со стандартом языка!)- не запустился.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 32 ]  На страницу 1, 2, 3  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group