137 lines
8.4 KiB
Markdown
137 lines
8.4 KiB
Markdown
# fortrun
|
||
|
||
"Fortran" + "run" = fortrun
|
||
|
||
Утилита для альтернативного способа запуска устаревших Fortran проектов в любимых редакторах. Разработано специально для студентов МАИ, чтобы избавить их от необходимости разрабатывать в устаревших программах без прикольных фич.
|
||
|
||
**Attention!** Данная программа не решит за вас нужные работы, но избавит от лишней головной боли в войне с устаревшим Fortran.
|
||
|
||
## Требования
|
||
|
||
- **Windows 10 и выше** (программа может работать и с ранними версиями, но не проверялась)
|
||
- **Microsoft PowerStation 4.0** - Без него программа не заработает, т.к. в нем содержится нужный компилятор и линкер. В ином случае, программа предупредит вас об отсутствии нужных файлов и откажется сотрудничать.
|
||
- **[Visual Studio Code](https://code.visualstudio.com/)** (или любой другой редактор с терминалом, либо ручками)
|
||
- Хотя бы небольшое количество прямых лапок
|
||
|
||
## Установка
|
||
|
||
### Способ для ленивых
|
||
Вы можете пропустить нюансы, установив ПО используя [последнюю версию установщика](https://git.dj-haski.ru/Dj_Haski/fortrun/...).
|
||
|
||
После установки можете переходить сразу к **Использованию**.
|
||
|
||
### Способ для умных и прекрасных
|
||
|
||
Вам будет необходим Poetry ([установка](https://python-poetry.org/docs/)) и Python 3.10+ ([установка](https://www.python.org/downloads/)).
|
||
|
||
Склонируйте репозиторий и перейдите в его папку:
|
||
|
||
```bash
|
||
$ git clone https://git.dj-haski.ru/Dj_Haski/fortrun
|
||
Cloning into 'fortrun'...
|
||
...
|
||
$ cd fortrun/
|
||
```
|
||
|
||
Установите пакеты Poetry:
|
||
|
||
```bash
|
||
$ poetry install
|
||
```
|
||
|
||
Запустите файл main.py с нужными параметрами:
|
||
|
||
```bash
|
||
$ poetry run main.py --help
|
||
# либо сразу
|
||
$ poetry run main.py build FA.F90 VAP4.F90 bm_nlp-msdev.lib --run --friendly
|
||
```
|
||
|
||
Бинго, вы прекрасны! Дальше по накатанной.
|
||
|
||
## Использование
|
||
|
||
### Подготовка для Visual Studio Code
|
||
|
||
Эта часть подразумевает, что вы установили ПО используя установщик.
|
||
|
||
1) Откройте Visual Studio Code
|
||
2) Откройте папку, где будут тусоваться ваши исходные файлы: *Файл -> Открыть папку...*
|
||
3) Создайте терминал, если его нет внизу: *Терминал -> Новый терминал*
|
||
4) Используйте перечисленные команды ниже, чтобы достичь нужного результата.
|
||
|
||
### Подготовка для умных и прекрасных
|
||
|
||
Если вы пошли сложным путем, то вам необходимо самостоятельно добавить `main.py` в PATH и настроить Windows для работы с `.py` файлами.
|
||
|
||
Либо же вызывать программу таким образом:
|
||
|
||
```bash
|
||
$ python c:/путь/до/файла/main.py ...
|
||
```
|
||
|
||
### Примеры команд (для лабораторных)
|
||
|
||
Сразу оговорюсь, если у вас ничего не происходит после запуска, то вам необходимо нажать `ENTER`, так как скорее всего у вас стоит `PAUSE` в конце программы.
|
||
|
||
#### Запуск в дружелюбном режиме
|
||
|
||
Данная команда соберет два нужных файла + библиотеку, запустит её в "дружелюбном" режиме и превратит сложные отображения цифр (.19375D+01 или -.22352D-07) в простые (0.3959 или -0.00008).
|
||
|
||
Учтите, что в собранной программе не будет дружелюбного отображения, так как этим занимается `fortrun`.
|
||
|
||
```bash
|
||
$ fortrun build FA.F90 VAP4.F90 bm_nlp-msdev.lib --run --friendly
|
||
```
|
||
|
||
#### Запуск в обычном режиме
|
||
|
||
Данная команда соберет два нужных файла + библиотеку и запустит её в обычном режиме.
|
||
|
||
```bash
|
||
$ fortrun build FA.F90 VAP4.F90 bm_nlp-msdev.lib --run
|
||
```
|
||
|
||
#### Сборка файла
|
||
|
||
Данная команда соберет два нужных файла + библиотеку в файл под названием "lab2.exe".
|
||
|
||
```bash
|
||
$ fortrun build FA.F90 VAP4.F90 bm_nlp-msdev.lib --friendly --output lab2.exe
|
||
```
|
||
|
||
### Документация по параметрам
|
||
|
||
Помощь доступна через команду `fortrun --help`.
|
||
|
||
- **fortrun version** - Просто выводит версию. И всё.
|
||
- **fortrun build** - Основная команда для компиляции и линковки файлов + библиотек. Флаги представлены ниже.
|
||
- **--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 и лабораторных самостоятельно :) |