1.1 О GNU Fortran
Компилятор GNU Fortran полностью поддерживает стандарты Fortran 77, 90 и 95, части стандартов Fortran 2003, 2008 и 2018, а также несколько расширений поставщиков. Цель разработки — предоставить следующие возможности:
- Чтение программы пользователя, хранящейся в файле и содержащей инструкции, написанные на Fortran 77, Fortran 90, Fortran 95, Fortran 2003, Fortran 2008 или Fortran 2018. Этот файл содержит исходный код.
- Перевод программы пользователя в инструкции, которые компьютер может выполнять быстрее, чем сам перевод инструкций. Результатом компиляции программы является машинный код, код, разработанный для эффективного перевода и обработки машиной, такой как ваш компьютер. Люди обычно не так хороши в написании машинного кода, как в написании Fortran (или C++, Ada или Java), потому что легко сделать крошечные ошибки при написании машинного кода.
- Предоставление пользователю информации о причинах, по которым компилятор не может создать двоичный файл из исходного кода. Обычно это происходит, если исходный код неверен. Стандарт Fortran 90 требует, чтобы компилятор мог указывать пользователю ошибки. Неправильное использование языка вызывает сообщение об ошибке.
Компилятор также попытается диагностировать случаи, когда программа пользователя содержит правильное использование языка, но дает компьютеру ненадёжные инструкции. Этот вид сообщения о диагностике называется сообщением об ошибке.
- Предоставление необязательной информации о проходах перевода от исходного кода к машинному коду. Это может помочь пользователю компилятора найти причину определённых ошибок, которые могут быть не очевидны в исходном коде, но могут быть легче обнаружены на уровне выходных данных компилятора более низкого уровня. Это также помогает разработчикам находить ошибки в самом компиляторе.
- Предоставление информации в сгенерированном машинном коде, которая облегчит поиск ошибок в программе (с помощью инструмента отладки, называемого отладчиком, например, 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-11.1.0/gfortran/About-GNU-Fortran.html