fortrun/README.md
2024-09-03 19:36:46 +03:00

8.0 KiB
Raw Permalink Blame History

fortrun

"Fortran" + "run" = fortrun

Утилита для альтернативного способа запуска устаревших Fortran проектов в любимых редакторах. Разработано специально для студентов МАИ, чтобы избавить их от необходимости разрабатывать в устаревших программах без прикольных фич.

Attention! Данная программа не решит за вас нужные работы, но избавит от лишней головной боли в войне с устаревшим Fortran.

Требования

  • Windows 10 и выше (программа может работать и с ранними версиями, но не проверялась)
  • Microsoft PowerStation 4.0 - Без него программа не заработает, т.к. в нем содержится нужный компилятор и линкер. В ином случае, программа предупредит вас об отсутствии нужных файлов и откажется сотрудничать.
  • Visual Studio Code (или любой другой редактор с терминалом, либо ручками)
  • Хотя бы небольшое количество прямых лапок и терпение

Установка

Способ для ленивых

Вы можете пропустить нюансы, установив ПО используя последнюю версию установщика (fortrun-setup.exe).

После установки можете переходить сразу к Использованию.

Способ для умных и прекрасных

Вам будет необходим Poetry (установка) и Python 3.10+ (установка).

Склонируйте репозиторий и перейдите в его папку:

$ git clone https://git.dj-haski.ru/Dj_Haski/fortrun
Cloning into 'fortrun'...
...
$ cd fortrun/

Установите пакеты Poetry:

$ poetry install

Запустите файл main.py с нужными параметрами:

$ poetry run main.py --help
# либо сразу
$ poetry run main.py build FA.F90 VAP4.F90 bm_nlp-msdev.lib --run --friendly 

Для сборки установщика необходим Inno Setup:

$ /путь/до/innosetup/ISCC.exe .\setup.iss /Ffortrun-setup /Odist

Бинго, вы прекрасны! Дальше по накатанной.

Использование

Подготовка для Visual Studio Code

Эта часть подразумевает, что вы установили ПО используя установщик.

  1. Запустите Visual Studio Code
  2. Откройте папку, где будут тусоваться ваши исходные файлы: Файл -> Открыть папку...
  3. Создайте терминал, если его нет внизу: Терминал -> Новый терминал
  4. Используйте перечисленные команды ниже, чтобы достичь нужного результата.

Подготовка для умных и прекрасных

Если вы пошли сложным путем, то вам необходимо самостоятельно добавить main.py в PATH и настроить Windows для работы с .py файлами.

Либо же вызывать программу таким образом:

$ python c:/путь/до/файла/main.py ...

Примеры команд (для лабораторных)

Сразу оговорюсь, если у вас ничего не происходит после запуска, то вам необходимо нажать ENTER, так как скорее всего у вас стоит PAUSE в конце программы.

Запуск в дружелюбном режиме

Данная команда соберет два нужных файла + библиотеку, запустит её в "дружелюбном" режиме и превратит сложные отображения цифр (.19375D+01 или -.22352D-07) в простые (0.3959 или -0.00008).

Учтите, что в собранной программе не будет дружелюбного отображения, так как этим занимается fortrun.

$ fortrun build FA.F90 VAP4.F90 bm_nlp-msdev.lib --run --friendly 

Запуск в обычном режиме

Данная команда соберет два нужных файла + библиотеку и запустит её в обычном режиме.

$ fortrun build FA.F90 VAP4.F90 bm_nlp-msdev.lib --run

Сборка файла

Данная команда соберет два нужных файла + библиотеку в файл под названием "lab2.exe".

$ fortrun build FA.F90 VAP4.F90 bm_nlp-msdev.lib --friendly --output lab2.exe

Документация по параметрам

Помощь доступна через команду fortrun --help.

  • fortrun version - Просто выводит версию. И всё.
  • fortrun build - Основная команда для компиляции и линковки файлов + библиотек, флаги представлены ниже (использовать так: fortrun --флаг --флаг2 что-то --флаг).
    • --output [ФАЙЛ] - Собрать всё в указанный файл.
    • --run - Запустить программу сразу после сборки.
    • --friendly - Работает только с --run. Заменять представления чисел Fortran на человекочитаемые.
    • --clean - Очистить папку сборки после компиляции.
    • --pause - Поставить программу на паузу после выполнения. Полезно в некоторых сценариях.

FAQ (Часто задаваемые вопросы)

| У меня пишутся какие-то "warning: ", это нормально?

Да. Скорее всего, на это не стоит обращать внимания, так как в лабораторных встречались такие сценарии, которые никак не влияют на работу.

| Что значит ошибка "Looks like compilation or linking failed. Perhaps you forgot to add some libraries or some source files? Check your source code and try again."

Вероятно, вы просто напросто забыли подключить нужную библиотеку (например: bm_nlp-msdev.lib), поэтому линкер не смог закончить свою работу. Гляньте на примеры.

| fortrun вылетает со странной ошибкой

Свяжитесь со мной по почте, указанной ниже. Не забудьте приложить скриншот проблемы.

Контакты

В случае обнаружения бага или при наличии интересного предложения, свяжитесь со мной по почте:

me@dj-haski.ru

Вопросы не касающиеся работы fortrun (этой проги), в 90% случаев остануться без ответа, ищите решение ошибок Fortran и лабораторных самостоятельно :)