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, связь и создаст исполняемый файл. Вы также можете поместить объектные файлы в этой командной строке, они будут автоматически присоединены.
Опция | Назначение |
-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 | Передает компоновщику. Использует для добавления ваших собственных библиотек поиска в процессе сборки. |