Компилятор GFortran

GFortran - это название компилятора языка программирования Фортран, входящего в коллекцию компиляторов GNU.

Сборка FORTRAN-программы:
Синтаксис

gfortran [-c?-S?-E]
             [-g] [-pg] [-Olevel]
             [-Wwarn...] [-pedantic]
             [-Idir...] [-Ldir...]
             [-Dmacro[=defn]...] [-Umacro]
             [-foption...]
[-mmachine-option...]
             [-o outfile] infile...

GFortran опирается на GCC, и, следовательно, разделяет большинство его характеристик. В частности, параметры для оптимизации и генерации отладочной информации у них совпадают.
GFortran используется для компиляции исходного файла, source.f90, в объектный файл, object.o или исполняемый файл, executable. Одновременно он генерирует модуль файлов описания встречающихся модулей, так называемый  nameofmodule.mod.

Для компиляции исходного файла source.f90, можно  запустить: gfortran source.f90

Выходной файл будет автоматически имени source.o. Это объектный файл, который не может быть исполнен. После того как вы собрали некоторые исходные файлы, вы можете соединить их вместе с необходимыми библиотеками для создания исполняемого файла. Это делается следующим образом: gfortran -o executable object1.o object2.o..., где исполняемым будет executable, objectX.o - объектные файлы, которые могут быть созданы, как указано выше, или в равной степени другими компиляторами  из источников в другом языке. Если  опущено имя  исполняемого файла, то  исполняемый файл будет с названием a.out. Исполняемый файл может быть выполнен, как и в любой другой программе. Можно также пропустить отдельный этап компиляции и ввести такую команду: gfortran o executable source1.f90 source2.f90, которая будет осуществлять сбор исходных файлов source1.f90 и source2.f90, связь и создаст исполняемый файл. Вы также можете поместить объектные  файлы в этой командной строке, они будут автоматически присоединены.

Опции компилятора GFortran

  Опция   Назначение
-c Эта опция означает, что необходима только компиляция. Из исходных файлов программы создаются объектные файлы в виде name.o. Компоновка не производится.
-Dname=value Определить имя name в компилируемой программе, как значение value. Эффект такой же, как наличие строки #define name value в начале программы. Часть =value может быть опущена, в этом случае значение по умолчанию равно 1.
-o file-name Использовать file-name в качестве имени для создаваемого файла.
-lname Использовать при компоновке  библиотеку libname.so
-Llib-path
-Iinclude-path
Добавить к стандартным каталогам поиска библиотек и заголовочных файлов пути lib-path и include-path соответственно.
-g Поместить в объектный или исполняемый файл отладочную информацию для отладчика gdb. Опция должна быть указана и для компиляции, и для компоновки. В сочетании –g рекомендуется использовать опцию отключения оптимизации –O0 (см.ниже)
-MM Вывести зависимости от заголовочных файлов ,  используемых в Си или С++ программе, в формате, подходящем для утилиты   make. Объектные или исполняемые файлы не создаются.
-pg Поместить в объектный или исполняемый файл инструкции профилирования для генерации информации, используемой утилитой gprof. Опция должна быть указана и для компиляции, и для компоновки. Собранная с опцией -pg программа при запуске генерирует файл статистики. Программа gprof на основе этого файла создает расшифровку, указывающую время, потраченное на выполнение каждой функции.
-Wall Вывод сообщений о всех предупреждениях или ошибках, возникающих во время компиляции программы.
-O1
-O2
-O3
Различные уровни оптимизации.
-O0 Не оптимизировать. Если вы используете многочисленные -O опции с номерами или без номеров уровня, действительной является последняя такая  опция.
-I Использует для добавления ваших собственных каталогов  поиска заголовочных файлов в процессе сборки
-L Передает компоновщику. Использует для добавления ваших собственных каталогов  поиска библиотек в процессе сборки.
-l Передает компоновщику. Использует для добавления ваших собственных библиотек  поиска в процессе сборки.