Компилятор The Portland Group Inc. Fortran (PGFortran).
Компилятор PGFortran для процессоров AMD64 и IA32/EM64T производит компиляцию программ на Фортране и линкует согласно опциям в командной строке. PGFortran является интерфейсом для компиляторов pgf90 и pgf95.
Синтаксис команды:
pgfortran [ -параметры ]... sourcefile...
sourcefile
указывают на вид файла:Полный список опций компилятора можно посмотреть по команде man pgfortran
.
Некоторые важные опции компиляции для PGFortran приведены здесь.
Опция | Назначение |
-o file |
Использует file как имя выходного исполняемого файла программы, вместо имени по умолчанию - a.out. Если используется совместно с опцией -с или -S и с одним входным файлом, то file используется в качестве имени объектного или ассемблерного выходного файла. |
-S |
Пропускает этапы ассемблирования и линкования. Для каждого файла с именем, например, file.f создает при выходе из компиляции файл с именем file.s . См. также -о. |
-fastsse |
Выбирает основные оптимальные установки для процессора, который поддерживает SSE инструкции (Pentium 3 / 4, AthlonXP / MP, Opteron) и SSE2 (Pentium 4, Opteron). Используйте в pgf90 -fastsse -help чтобы просмотреть установки. |
-C | Включает проверки выхода индекса за границы массива также как и -Mbounds |
-i2 | Целые и логические переменные длиной 2 байта . |
-i4 | Целые и логические переменные длиной 4 байта . |
-i8 | Целые и логические переменные длиной 8 байт . Устанавливается по умолчанию. Для операций над целыми числами отводится 64 бита. |
-O[N] | Устанавливает уровень оптимизации равным N. -O0 до -O4, по умолчанию устанавливается -O2. Если не указана опция -O и если не заказана -g, то устанавливается -O1 , но если заказана -g, то устанавливается -O0. Когда номер у -O не указан, то устанавливается -O2. |
-O0 | Без оптимизации. |
-О1 |
Оптимизация в рамках основных блоков. Выполняется некоторое распределение регистров. Глобальная оптимизация не выполняется. |
-O2 | Выполняется оптимизация -O1. Кроме того, выполняются традиционные скалярные оптимизации, такие как признание индукции и инвариант цикла движения глобального оптимизатора. |
-O3 |
Задействует методы оптимизации из -O1 и -O2 и, дополнительно, более агрессивные методы оптимизации циклов и доступа к памяти, такие как подстановка скаляров, раскрутка циклов. Эти агрессивные методы оптимизации могут, в ряде случаев, и замедлить работу приложений . |
-O4 | Выполняет все уровни оптимизации -O1,-O2, -O3, кроме того, выполняет оптимизацию выражений с плавающей точкой. |
-fpic |
Передаёт компилятору для генерации позиционно-независимого кода, который может быть использован при создании общих объектных файлов (динамически связываемых библиотек). |
-gopt |
Сообщает компоновщику включение отладочной информации без отключения оптимизации |
-s |
Использует линковщик; таблицы символьной информации, оптимизации. Использование может привести к неожиданным результатам при отладке с оптимизацией, она предназначена для использования с другими опциями , которые используют отладочную информацию. |
-pg | Устанавливает профилирование; влечёт установку -Mframe |
-r4 | Переменные DOUBLE PRECISION рассматриваются как REAL. |
-r8 | Переменные REAL рассматриваются как DOUBLE PRECISION . Это тоже самое, что и указать -Mr8 и -Mr8intrinsics. |
-fast | Обеспечивает ускоренный метод нескольких оптимизаций на время выполнения программы. Устанавливает параметры для повышения производительности в размере не менее 2, см.-O. Используйте pgf90 -fast -help для просмотра эквивалентных переключателей. |
-g | Создаёт отладочную информацию. Опция устанавливает уровень оптимизации до нуля, если только заказана опция -O . Процесс может привести к неожиданным результатам, если заказан уровень оптимизации отличный от нуля. Сгенерированный код будет работать медленнее при -O0, чем при других уровнях оптимизации. |
-I | Добавляет ваши собственные каталоги поиска заголовочных файлов в процессе сборки |
-L | Передает компоновщику. Добавляет ваши собственные каталоги поиска библиотек в процессе сборки. |
-l | Передает компоновщику. Добавляет ваши собственные библиотеки поиска в процессе сборки. |