Как установить fortran в visual studio

Обновлено: 02.07.2024

Вуз Санкт-Петербургский политехнический университет Петра Великого

Дисциплина Математическое моделирование

Комментарий

Students also viewed

Other related documents

Preview text

Работа с Compaq Visual Fortran 6 в среде Microsoft Visual Studio 6

В среде Microsoft Visual Studio (MVS) удобно работать, создавая на жёстком диске специальное рабочее пространство – Workspace, которое представляет собой именованную папку, где размещаются проекты (программы) пользователя.

Запуск Compaq Visual Fortran 6

Если на компьютере установлен Compaq Visual Fortran 6 (CVF), то для его запуска выполните следующую цепочку действий: Start – All Programs - Compaq Visual Fortran 6 – Developer Studio. (Здесь и далее имеется в виду операционная система Windows XP).

Создание нового рабочего пространства – Workspace

Все проекты и программы следует размещать в специальном месте на диске в заранее созданной папке с номером вашей группы, а внутри неё - в папке с вашей фамилией, набранной обязательно латинскими буквами (CVF не работает с папками с русскими названиями). После запуска CVF, выберите File – New – Workspace. В открывшемся окне, используя кнопку у окна Location, выберите местоположение вашего проекта, например, D:
STUDENTS\3101\ANDREEV (рис. 1) и нажмите ОК. Задайте имя папки в окне Workspace name, например, Linear_Systems (рис. 2) и нажмите ОК.

Добавление нового проекта в рабочее пространство

Для добавления нового проекта сделаете следующие действия: установите курсор мыши на заголовке рабочего пространства - Workspace ‘Linear_Systems’ и нажмите правую клавишу мыши. В открывшемся меню выберите пункт Add New Project to Workspace (рис. 3) и нажмите левую клавишу мыши. В открывшемся окне (рис. 4) выберите самый «простой» тип проекта Fortran Console Application, щёлкнув по нему левой клавишей мыши. Затем в окне Project Name задайте имя проекта, например, General_Systems и нажмите ОК. После этого появится окно (рис. 5). Выберите A Simple Project и нажмите кнопку Finish, и ещё раз нажмите ОК в новом окне (рис. 6). После этих действий проект будет добавлен в рабочее пространство Linear Systems. Автоматически он будет активным. Активный проект – это проект, с которым в данный момент ведётся работа, и его название всегда выделяется жирным шрифтом. Так как тип проекта был A Simple Project, то автоматически создаётся файл с именем проекта и расширением f90 - заготовка головной программы. В нашем случае это файл General_Systems.f90. Его вид показан на рис. 7. Следует иметь в виду, что в одном проекте может быть только одна головная программа.

Получение справочной информации о программах библиотеки IMSL

Компиляция, сборка и выполнение программ в среде MVS

Компиляция осуществляется нажатием кнопки Compile (Ctrl+F7), компиляция и сборка (редактирование) нажатием кнопки Build (F7), а выполнение нажатием кнопки Execute Program (Ctrl+F5)

сначала я устанавливаю MS Visual Studio Community 2017 с официального сайта.
Отлично работает.

далее я устанавливаю Intel ® Parallel Studio XE Cluster Edition (включая Fortran и C/C++) с сайта Intel Developer Zone. На этом сайте было бесплатное предложение инструмент для студентов.

установки был установлен следующий софт:

Intel Parallel Studio XE 2017

но когда я пытаюсь создать новый проект Fortran я не нашел вариант на Visual Studio Community 2017.

New Project on Visual Studio Community 2017

затем я ищу в интернете об этой проблеме, и я нашел эту статью:Устранение неполадок интеграции Fortran с Visual Studio
Который гласит:

Если используется Intel Parallel Studio XE 2017 (версия компилятора
17.0), поддерживаются версии Visual Studio 2012, 2013 и 2015.

поэтому я попытался загрузить MS Visual Studio Сообщество 2015 но я не могу.
В настоящее время веб-сайт Microsoft предлагает только Visual Studio Community 2017.

Я хочу построить Fortran или C / C++ проект, используя библиотеку математического ядра или Blas, Linpack или Lapack.
Что я могу сделать?
Есть ли способ решить эту проблему интеграции, должен ли я найти VS Community 2015 или, может быть, попробовать компилятор GNU-GCC, но в этом случае, как использовать LINPACK?

в то время решение состояло в том, чтобы установить VS Community 2015, как прокомментировал @Ramhound, и после переустановки Intel Parallel Studio XE 2017. В настоящее время Intel Parallel Studio XE 2018 поддерживает Visual Studio 2017.

но в будущем, эта проблема может повториться, то следующие шаги для установки последней Visual Studio поддерживается Intel Parallel Studio XE.

сначала проверьте версию Visual Studio, поддерживаемую Доступна Intel Parallel Studio XE. Вы можете проверить на этом сайте Устранение неполадок интеграции Fortran с Microsoft Visual Studio*

установите Visual Studio, поддерживаемую Intel Parallel Studio XE, которую вы собираетесь установить. Если поддерживаемая версия Visual Studio не является последней, можно загрузить более старую версию из против старых загрузок

Это шутка, но, как обычно, только отчасти. :)



Причин продолжения использования Fortran несколько:

Огромная, накопленная за пол века база инженерно-научного кода.

Он компилируемый. Программы очень просто кому-нибудь отдавать безо всяких ваших виртуальных машин.

В дистрибутивах от Ляо этой проблемы нет.

Из IDE

Из командной строки

Компилируем из командной строки:

Опция -o задает выходной файл.

Пример составлен так, чтобы смоделировать зависимости модулей друг от друга, показанные на схеме:


Если из рабочего каталога вызвать

Некоторые опции компилятора

О расширениях исходных файлов

Протестируем. Решим систему линейных алгебраических уравнений (СЛАУ)

Компилируем, подключая библиотеки lapack / refblas :

Библиотеки дядюшки Ляо

IDE Code::Blocks



Прочие IDE

Текстовые редакторы

Sublime Text, Atom, VS Code



SciTE, NotePad++, AkelPad



Матрицы могут быть многомерными.

Типы, включая комплексные числа. Удобные древовидные пользовательские типы (структуры данных).

В Fortran нет строк переменной длины, размер строк нужно задавать явно.

Мейнстримовый C++ предлагает аналогичную скорость.

Всем известны плюсы ночной сборки и тестирования: утром мы знаем всю информацию о проекте:
собрался ли проект, сколько тестов прошли, имеем собранный экзешник, который можно предъявить заказчику.

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

Напомним, что файлы в фортрановском проекте зависят друг от друга через модули. Если в одном файле есть module A , а в другом — use A , то первый файл должен быть скомпилирован раньше. При этом подобная информация нигде не прописывается и генерируется на лету. Интеграция компилятора Intel Fortran с Visual Studio в большинстве случаев правильно определяет последовательность компиляции, однако и она может ошибиться, что уж говорить о специальных утилитах, нацеленных на создание make-файлов.

Ниже приводится метод определения зависимостей в файлах проекта и описание процесса автоматической сборки проекта без использования специальных программ.

Поставим задачу в таком виде: автоматически собрать проект, имея на входе только исходные файлы проекта, проект vfproj и в общем случае файл sln.

Вероятно, некоторые существующие методы построения exe-файла требуют вызова специальной промежуточной утилиты, генерирующей по файлу проекта (vfproj) зависимости в виде make-файла.
Поиски такой утилиты к успеху не привели. Да и бывает, что после успешной компиляции и компоновки в студии возможна повторная компиляция некоторых файлов из-за неверно определённых зависимостей, неверной трактовки условной компиляции ( !DEC$ ) и т.п. Таким образом, внешние утилиты не могут считаться надёжным способом определения порядка компиляции.

  1. файл проекта (который хранится в формате XML) переписать в виде списка файлов с параметрами компиляции.
  2. скомпилировать в нужном порядке.

Для решения второй задачи был избран следующий подход: ловить зависимости на основе поведения самого компилятора. предположим, что программа правильно написана с точки зрения компилятора:
каждый программист регулярно проводит компиляцию всего проекта для проверки реализованной функциональности. Тогда компиляция файла может завершиться либо успешно, либо в случае отсутствия модуля первой ошибкой будет Module not found . Запоминаем имя отсутствующего модуля и переходим к следующему файлу в списке.

В случае ошибки любого другого типа мы можем говорить об испорченности проекта, тогда компиляция прекращается. Если при компиляции последнего файла из списка обнаружилась зависимость от другого модуля, это свидетельствует о наличии циклической зависимости в проекте, то есть об ошибке.

Далее, когда компилятор ошибок не выдаёт, мы смотрим, какие модули создались. Если находим, какой-то из предыдущих файлов не был скомпилирован из-за отсутствия такого модуля,
можем его скомпилировать повторно.

Порядок компиляции фиксируем в репозитории. Промежуточные объектные файлы можно удалить.
В следующий раз лишнее время на компиляцию мы не потратим. Если зависимости немного изменились, повторно всю цепочку с нуля мы прослеживать уже не будем.

Отметим, что здесь речь не идёт об ускорении сборки проекта и make-файлы в обычном понимании этого слова не создаются.

Особенности реализации

Возможно использование языка VBScript, поскольку под Windows никакой компилятор для него устанавливать не требуется. Автор использовал именно VBScript во многом по этой причине:
настроить компиляцию можно на любом компьютере с ОС Windows, которых в офисе абсолютное большинство. В VBScript есть встроенное чтение и поддержка файлов XML, что актуально для проектов, хранимых в таком формате. Переписывать скрипт для ОС Linux до сих пор не требовалось.

Особое внимание в VBScript требуется уделить перехвату буфера вывода, с которым, как известно, есть определённые проблемы. Для контроля и перехвата стандартного и ошибочного вывода требуется использовать вызов WSHShell.Exec . Для тех же целей требуется установить лимит на время выполнения одной компиляции. Связанная проблема — если программа сложная, компилятор может зависнуть, если скомпилировать произвольный файл из проекта, — просто из-за несовершенства компилятора. Первый запуск, таким образом, может оказаться довольно долгим.

Ещё некоторый недостаток — если VBScript работает не в режиме консольного окна,
то будут постоянно выскакивать чёрные консольные окна для каждого компилируемого файла.
А в режиме консольного окна всё время открыто одно окно скрипта. Поскольку весь процесс запускается ночью, либо на сервере сборки-тестирования, такое поведение приемлемо.

К слову

Скрипт можно использовать ещё для одной цели. Дело в том, что за день код может быть испорчен, так что компиляция не пройдёт и тесты запущены не будут, что будет очень печально, если тесты отрабатывают за время порядка нескольких часов. Так что даже в случае очень простой для исправления ошибки проверка и запуск днём приведёт к потере времени.

Читайте также: