Сильверфрост FTN95
Эта статья нуждается в дополнительных цитатах для проверки . ( июнь 2016 г. ) |
Разработчик(и) | Сильверфрост |
---|---|
Стабильная версия | 9.00
/ 13 ноября 2023 г. |
Операционная система | Microsoft Windows |
Тип | Компилятор |
Лицензия | Собственный |
Веб-сайт | www |
Silverfrost FTN95: Fortran для Windows — это компилятор языка Fortran программирования для компьютеров под управлением Microsoft Windows . Он генерирует исполняемые программы , написанного человеком, из исходного кода для собственных IA-32 Win32 , x86-64 (начиная с версии 8.00). [1] Microsoft ) и для платформы .NET . Существует бесплатная Персональная версия, генерирующая программы, кратковременно отображающие баннер, а также Коммерческая и Академическая версии.
МАТ
[ редактировать ]FTN95, как и его предшественник FTN77, имеет мощные возможности проверки во время выполнения, называемые CHECKMATE. Переключатели компилятора могут включать различные уровни проверки во время выполнения. К ним относятся проверки привязки массива, модификация констант, модификация DO LOOP, проверка аргументов и использование неопределенных переменных. Время выполнения программы увеличивается при использовании проверки. [2]
ClearWin+
[ редактировать ]ClearWin+ — это библиотека, встроенная в систему выполнения FTN95. Он предлагает простой в использовании интерфейс для Windows API и недоступен при создании кода .NET. Он использует набор кодов формата и обратных вызовов . Коды формата напоминают C. в стиле printf коды ClearWin+ используется для управления пользовательским интерфейсом Simfit . Начиная с FTN95 версии 7.00 включена 64-битная версия ClearWin+. Это можно использовать с существующими бесплатными 64-битными компиляторами.
Простая программа ClearWin+:
INTEGER i,winio@
EXTERNAL func
i=winio@('Press this to see what happens &')
i=winio@('%^bt[PRESS]',func)
END
c---Function to do something---
INTEGER function func()
func=1
END
Полный графический интерфейс с окнами, меню, всплывающими диалоговыми окнами, списками, полями редактирования, растровыми изображениями, панелями инструментов и т. д. может быть разработан с использованием доступных кодов форматов. Приложения, написанные с использованием ClearWin+, также могут содержать графические области, что позволяет включать диаграммы и графики. OpenGL Также может быть включена графика .
Простая программа ClearWin+, демонстрирующая построение двухмерных графиков с помощью ClearWin+:
USE clrwin
INTEGER, PARAMETER :: n=101
REAL*8 x(n), y(n), th1, a, dth1
! Generate x-y data arrays
a = 1.d0
th1 = 0.d0
dth1 = 4.d0*ATAN(1.d0)/25.d0
DO i = 1, n, 1
x(i) = a * SQRT(th1) * COS(th1)
y(i) = a * SQRT(th1) * SIN(th1)
th1 = th1 + dth1
END DO
! Configure plot
CALL WINOP@('%pl[frame,etched,gridlines,colour=blue,width=2,symbol=5]')
CALL WINOP@('%pl[smoothing=4,x_array,margin=100]')
CALL WINOP@('%pl[Title="Fermat''s spiral"]')
! Set window font (%fn), text size (%ts), and set to bold (%bf)
i = WINIO@('%fn[Tahoma]%ts%bf&',1.5d0)
! Create a 800 x 800 graphics region, and plot curve defined by data in x and y
i = WINIO@('%pl',800,800,n,x,y)
END
СДБГ/СДБГ64
[ редактировать ]FTN95 может добавлять дополнительную информацию об отладке в создаваемые им EXE-файлы. Эта возможность становится доступной, когда пользователь запрашивает ее с соответствующими параметрами компилятора ( /debug , /check , /undef ). Отладчики SDBG/SDBG64 — это быстрые и функциональные инструменты, которые легче изучить и использовать, чем гораздо более универсальные, но ресурсоемкие инструменты Visual Studio.
Визуальная Студия
[ редактировать ]FTN95 был первым компилятором Фортрана, способным создавать код для Microsoft .NET. Кроме того, доступны плагины, позволяющие писать, компилировать и отлаживать программы FTN95 внутри Visual Studio . Плагины полностью поддерживают генерацию кода Win32 и .NET. Текущая версия содержит плагины для Visual Studio с 2008 по 2019 год. Плагин для Visual Studio 2022 на данный момент отсутствует. Плагины FTN95 можно установить в Visual Studio Community Edition .
Платон
[ редактировать ]Plato — это интегрированная среда разработки , поставляемая с FTN95. Он может редактировать, компилировать и отлаживать программы аналогично плагинам Visual Studio. Хотя Платон специализируется на Фортране, он не ограничивается им и может быть настроен для работы с любым компилятором. Он предназначен для автономной работы с FTN95.
Салфорд Фортран
[ редактировать ]FTN95 был разработан Salford Software Limited, компанией, принадлежащей Университету Салфорда , и является преемником их компилятора Fortran 77 FTN77. В августе 2004 года Salford Software передала контроль над FTN95 компании Silverfrost Limited. Silverfrost FTN95 часто называют Salford FTN95 из-за его происхождения из Солфордского университета.
Использование FTN95 со сторонними DLL
[ редактировать ]Программы FTN95 могут быть связаны с динамическими библиотеками, созданными другими компиляторами Fortran, такими как gFortran и Intel Fortran. Соглашения о вызовах этих компиляторов очень похожи, и компоновщики Silverfrost (Slink/Slink64) могут напрямую связывать объектные файлы пользователей с подпрограммами в одной или нескольких динамических библиотеках Windows (DLL), таких как библиотеки DLL Intel MKL, без необходимости библиотека импорта.
Фортран 2003 и 2008 гг.
[ редактировать ]В FTN95 доступны функции более поздних стандартов Fortran 2003 и 2008, в том числе:
Фортран 2003 :
- Стандартные встроенные функции в операторах инициализации.
- NINT, AINT, ANINT и TRANSPOSE разрешены в операторах инициализации.
- «Распределить по заданию»
- ISO_C_BINDING.
- Выделение по назначению для встроенных функций PACK и RESHAPE.
- Указатели процедур Fortran 2003 и процедуры с привязкой к типу: (1) Процедуры с привязкой к типу (определенные в TYPE CONTAINS). (2) Указатели процедур типа (определенные как члены TYPE). (3) Указатели общих процедур (не определенные с помощью ТИПА).
- ПОТОКОВЫЙ ввод и вывод.
- Внутренний MOVE_ALLOC.
- НАМЕРЕНИЕ для аргументов POINTER
- Оператор I/O FLUSH.
- Подпрограммы ввода-вывода, аргумент ключевого слова IOMSG.
- Внутренний GET_ENVIRONMENT_VARIABLE.
- АССОЦИАТИВНАЯ конструкция.
- Параметризованные производные типы.
- Атрибут PROTECTED для переменных модуля.
Фортран 2008 :
- Внутренний EXECUTE_COMMAND_LINE.
- ISO_FORTRAN_ENV со встроенными функциями COMPILER_VERSION() и COMPILER_OPTIONS().
- Сложные встроенные функции, такие как ACOS, ACOSH, COSH и TAN.
- Настоящие встроенные функции ACOSH, ASINH и ATANH.
- Конструкция DO CONCURRENT.
- Внутренний АТАН(Y,X).
- z%re и z%im для комплексного z.
- Внутренний HYPOT(X,Y)
- Внутренний FINDLOC.
- ISO_C_BINDING, C_SIZEOF встроенный.
- Внутренний STORAGE_SIZE.
- БЛОЧНАЯ конструкция.
- НАЗАД аргумент для MINLOC, MAXLOX и FINDLOCK.
Ссылки
[ редактировать ]- ^ Серебряный Фрост. «История изменений FTN95» . www.silverfrost.com . Проверено 4 июня 2016 г.
- ^ Серебряный Фрост. «CHECKMATE: лучшая в мире проверка времени выполнения» . www.silverfrost.com . Проверено 4 июня 2016 г.