Spec-Zone.ru › GNU Fortran 12

1.1 О GNU Fortran

Компилятор GNU Fortran является преемником g77, модуля Fortran 77, включённого в GCC до версии 4 (выпущенной в 2005 году). Хотя он совместим с большинством g77 расширений и командной строки, gfortran представляет собой полностью новую реализацию, разработанную для поддержки более современных диалектов Fortran. GNU Fortran полностью реализует стандарты Fortran 77, 90 и 95, большинство стандартов Fortran 2003 и 2008, а также некоторые функции из стандарта 2018. Он также реализует несколько расширений, включая поддержку OpenMP и OpenACC для параллельного программирования.

Компилятор GNU Fortran проходит тестовый набор NIST Fortran 77 и генерирует приемлемые результаты в тестовом наборе LAPACK. Он также демонстрирует достойную производительность в бенчмарках компилятора Fortran Polyhedron и тестовом наборе Livermore Fortran Kernels. Он использовался для компиляции ряда крупных реальных программ, включая прогноз погоды HARMONIE и HIRLAM и пакет квантовой химии Tonto; для расширенного списка см. https://gcc.gnu.org/wiki/GfortranApps.

GNU Fortran предоставляет следующие возможности:

  • Чтение программы, хранящейся в файле и содержащей инструкции на языке Fortran 77.
  • Перевод программы в инструкции, которые компьютер может выполнять быстрее, чем перевод исходных инструкций Fortran. Результатом компиляции программы является машинный код, который эффективно переводится и обрабатывается машиной, например, вашим компьютером. Люди обычно не так хороши в написании машинного кода, как в написании Fortran (или C++, Ada или Java), потому что легко допускать небольшие ошибки при написании машинного кода.
  • Предоставление информации о причинах, по которым компилятор может не создать двоичный файл из исходного кода, например, если исходный код содержит ошибки. Стандарты языка Fortran требуют, чтобы компилятор мог указывать ошибки в вашем коде. Неправильное использование языка приводит к сообщению об ошибке.

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

  • Предоставление необязательной информации о этапах перевода исходного кода в машинный код. Это может помочь найти причину определенных ошибок, которые могут быть не очевидны в исходном коде, но могут быть более легко обнаружены на уровне выходных данных компилятора более низкого уровня. Это также помогает разработчикам находить ошибки в самом компиляторе.
  • Предоставление в сгенерированном машинном коде информации, которая может облегчить поиск ошибок в программе (с использованием инструмента отладки, называемого отладчиком, например, GNU Debugger gdb).
  • Поиск и сбор машинного кода, уже сгенерированного для выполнения действий, запрошенных операторами в программе. Этот машинный код организован в модули и подключается к программе пользователя.

Компилятор GNU Fortran состоит из нескольких компонентов:

  • Версия команды gcc (которая также может быть установлена как системная команда cc), которая также понимает и принимает исходный код Fortran. Команда gcc является программой-драйвером для всех языков в GNU Compiler Collection (GCC); с помощью gcc вы можете скомпилировать исходный код любого языка, для которого в GCC доступен фронт-энд.
  • Сама команда gfortran (которая также может быть установлена как системная команда f95). gfortran — это просто еще одна программа-драйвер, но специально для компилятора Fortran. Основное различие между командами gcc и gfortran заключается в том, что последняя автоматически подключает к вашей программе правильные библиотеки.
  • Набор библиотек времени выполнения. Эти библиотеки содержат машинный код, необходимый для поддержки возможностей языка Fortran, которые не предоставляются напрямую машинным кодом, сгенерированным фазой компиляции gfortran, такими как встроенные функции и подпрограммы, а также процедуры для взаимодействия с файлами и операционной системой.
  • Сам компилятор Fortran (f951). Это синтаксический анализатор и генератор кода GNU Fortran, связанный и интегрированный с библиотекой бэкенда GCC. f951 «переводит» исходный код в код ассемблера. Как правило, вы не будете использовать эту программу напрямую; вместо этого программы-драйверы gcc или gfortran вызывают ее за вас.

Далее: GNU Fortran и GCC, Назад: Введение [Оглавление][Индекс]

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gfortran/About-GNU-Fortran.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API