Spec-Zone.ru › GNU Fortran 4

Компилятор GNU Fortran

Краткое содержание

  • Введение
  • 1 Введение
  • 2 Опции командной строки GNU Fortran
  • 3 Выполнение: Управление поведением во время выполнения с помощью переменных среды
  • 4 Статус Fortran 2003 и 2008
  • 5 Характеристики компилятора
  • 6 Расширения
  • 7 Программирование на смешанных языках
  • 8 Встроенные процедуры
  • 9 Встроенные модули
  • Содействие
  • Общая публичная лицензия GNU
  • Лицензия GNU на свободную документацию
  • Финансирование свободного программного обеспечения
  • Индекс опций
  • Индекс ключевых слов

Содержание

  • Введение
  • 1 Введение
    • 1.1 О GNU Fortran
    • 1.2 GNU Fortran и GCC
    • 1.3 Предварительная обработка и условные компиляции
    • 1.4 GNU Fortran и G77
    • 1.5 Состояние проекта
    • 1.6 Стандарты
      • 1.6.1 Строки с переменной длиной символов
  • 2 Опции командной строки GNU Fortran
    • 2.1 Краткое описание опций
    • 2.2 Опции, контролирующие диалект Fortran
    • 2.3 Включение и настройка предварительной обработки
    • 2.4 Опции запроса или подавления ошибок и предупреждений
    • 2.5 Опции для отладки программы или GNU Fortran
    • 2.6 Опции для поиска каталогов
    • 2.7 Влияние на этап компоновки
    • 2.8 Влияние на поведение во время выполнения
    • 2.9 Опции для соглашений о генерации кода
    • 2.10 Переменные окружения, влияющие на gfortran
  • 3 Режим выполнения: Влияние на поведение во время выполнения с помощью переменных окружения
    • 3.1 TMPDIR—Директория для временных файлов
    • 3.2 GFORTRAN_STDIN_UNIT—Номер устройства для стандартного ввода
    • 3.3 GFORTRAN_STDOUT_UNIT—Номер устройства для стандартного вывода
    • 3.4 GFORTRAN_STDERR_UNIT—Номер устройства для стандартной ошибки
    • 3.5 GFORTRAN_UNBUFFERED_ALL—Отключить буферизацию ввода-вывода для всех устройств
    • 3.6 GFORTRAN_UNBUFFERED_PRECONNECTED—Отключить буферизацию ввода-вывода для предварительно подключенных устройств
    • 3.7 GFORTRAN_SHOW_LOCUS—Показать местоположение для ошибок во время выполнения
    • 3.8 GFORTRAN_OPTIONAL_PLUS—Выводить ведущий знак + там, где разрешено
    • 3.9 GFORTRAN_DEFAULT_RECL—Длина записи по умолчанию для новых файлов
    • 3.10 GFORTRAN_LIST_SEPARATOR—Разделитель для вывода списка
    • 3.11 GFORTRAN_CONVERT_UNIT—Установить порядок байтов для неформатированного ввода-вывода
    • 3.12 GFORTRAN_ERROR_BACKTRACE—Показать трассировку стека при ошибках во время выполнения
  • 4 Состояние Fortran 2003 и 2008
    • 4.1 Состояние Fortran 2003
    • 4.2 Состояние Fortran 2008
    • 4.3 Состояние технического задания 29113
  • 5 Характеристики компилятора
    • 5.1 Параметры типа KIND
    • 5.2 Внутреннее представление логических переменных
    • 5.3 Потокобезопасность библиотеки времени выполнения
    • 5.4 Согласованность и долговечность данных
  • 6 Расширения
    • 6.1 Расширения, реализованные в GNU Fortran
      • 6.1.1 Спецификации типа kind старого стиля
      • 6.1.2 Инициализация переменных старого стиля
      • 6.1.3 Расширения для списков имен
      • 6.1.4 X формат-описатель без поля счётчика
      • 6.1.5 Запятые в спецификациях FORMAT
      • 6.1.6 Отсутствующая точка в спецификациях FORMAT
      • 6.1.7 Списки элементов ввода-вывода
      • 6.1.8 Q показатель степени
      • 6.1.9 Булевы константы-литералы
      • 6.1.10 Индексы массивов с вещественными значениями
      • 6.1.11 Унарные операторы
      • 6.1.12 Неявное преобразование LOGICAL и INTEGER значений
      • 6.1.13 Поддержка констант Холлерита
      • 6.1.14 Указатели Cray
      • 6.1.15 CONVERT спецификатор
      • 6.1.16 OpenMP
      • 6.1.17 Функции с аргументными списками %VAL, %REF и %LOC
    • 6.2 Расширения, не реализованные в GNU Fortran
      • 6.2.1 STRUCTURE и RECORD
      • 6.2.2 ENCODE и DECODE операторы
      • 6.2.3 Переменные FORMAT выражения
      • 6.2.4 Альтернативная синтаксическая конструкция для комплексных функций
      • 6.2.5 Переменные COMMON блоки
  • 7 Программирование на смешанных языках
    • 7.1 Взаимодействие с C
      • 7.1.1 Встроенные типы
      • 7.1.2 Производные типы и структуры
      • 7.1.3 Взаимодействующие глобальные переменные
      • 7.1.4 Взаимодействующие подпрограммы и функции
      • 7.1.5 Работа с указателями
      • 7.1.6 Более глубокое взаимодействие Fortran и C
    • 7.2 Директивы компилятора GNU Fortran
    • 7.3 Основная программа, не написанная на Fortran
      • 7.3.1 _gfortran_set_args — Сохранить аргументы командной строки
      • 7.3.2 _gfortran_set_options — Установить флаги опций библиотеки
      • 7.3.3 _gfortran_set_convert — Установить преобразование порядка байтов
      • 7.3.4 _gfortran_set_record_marker — Установить длину маркеров записи
      • 7.3.5 _gfortran_set_fpe — Включить ловушки для исключений с плавающей точкой
      • 7.3.6 _gfortran_set_max_subrecord_length — Установить максимальную длину подзаписи
    • 7.4 Правила именования и передачи аргументов
      • 7.4.1 Правила именования
      • 7.4.2 Правила передачи аргументов
  • 8 Встроенные процедуры
END_OF_DOCUMENT_MARKER
    • 8.1 Введение в встроенные процедуры
    • 8.2 ABORT — Прервать выполнение программы
    • 8.3 ABS — Модуль числа
    • 8.4 ACCESS — Проверка режимов доступа к файлам
    • 8.5 ACHAR — Символ в последовательности ASCII
    • 8.6 ACOS — Функция арккосинуса
    • 8.7 ACOSH — Обратная гиперболическая функция косинуса
    • 8.8 ADJUSTL — Выравнивание строки влево
    • 8.9 ADJUSTR — Выравнивание строки вправо
    • 8.10 AIMAG — Мнимая часть комплексного числа
    • 8.11 AINT — Отрезание до целого числа
    • 8.12 ALARM — Выполнение процедуры после заданной задержки
    • 8.13 ALL — Все значения в MASK по DIM истинны
    • 8.14 ALLOCATED — Статус распределяемой сущности
    • 8.15 AND — Побитовое логическое И
    • 8.16 ANINT — Ближайшее целое число
    • 8.17 ANY — Любое значение в MASK по DIM истинно
    • 8.18 ASIN — Функция арксинуса
    • 8.19 ASINH — Обратная гиперболическая функция синуса
    • 8.20 ASSOCIATED — Статус указателя или пары указатель/цель
    • 8.21 ATAN — Функция арктангенса
    • 8.22 ATAN2 — Функция арктангенса
    • 8.23 ATANH — Обратная гиперболическая функция тангенса
    • 8.24 ATOMIC_DEFINE — Установка переменной атомарно
    • 8.25 ATOMIC_REF — Получение значения переменной атомарно
    • 8.26 BACKTRACE — Отображение трассировки стека вызовов
    • 8.27 BESSEL_J0 — Функция Бесселя первого рода нулевого порядка
    • 8.28 BESSEL_J1 — Функция Бесселя первого рода первого порядка
    • 8.29 BESSEL_JN — Функция Бесселя первого рода
    • 8.30 BESSEL_Y0 — Функция Бесселя второго рода нулевого порядка
    • 8.31 BESSEL_Y1 — Функция Бесселя второго рода первого порядка
    • 8.32 BESSEL_YN — Функция Бесселя второго рода
    • 8.33 BGE — Побитовое больше или равно
    • 8.34 BGT — Побитовое больше
    • 8.35 BIT_SIZE — Функция получения размера в битах
    • 8.36 BLE — Побитовое меньше или равно
    • 8.37 BLT — Побитовое меньше
    • 8.38 BTEST — Функция проверки бита
    • 8.39 C_ASSOCIATED — Статус C-указателя
    • 8.40 C_F_POINTER — Преобразование C-указателя в Fortran-указатель
    • 8.41 C_F_PROCPOINTER — Преобразование C-указателя на процедуру в Fortran-указатель на процедуру
    • 8.42 C_FUNLOC — Получение C-адреса процедуры
    • 8.43 C_LOC — Получение C-адреса объекта
    • 8.44 C_SIZEOF — Размер выражения в байтах
    • 8.45 CEILING — Функция целого потолка
    • 8.46 CHAR — Функция преобразования символов
    • 8.47 CHDIR — Изменение текущей рабочей директории
    • 8.48 CHMOD — Изменение разрешений доступа к файлам
    • 8.49 CMPLX — Функция преобразования в комплексное число
    • 8.50 COMMAND_ARGUMENT_COUNT — Получение количества аргументов командной строки
    • 8.51 COMPILER_OPTIONS — Опции, переданные компилятору
    • 8.52 COMPILER_VERSION — Строка версии компилятора
    • 8.53 COMPLEX — Функция преобразования в комплексное число
    • 8.54 CONJG — Функция комплексного сопряжения
    • 8.55 COS — Функция косинуса
    • 8.56 COSH — Функция гиперболического косинуса
    • 8.57 COUNT — Функция подсчёта
    • 8.58 CPU_TIME — Время работы процессора в секундах
    • 8.59 CSHIFT — Круговой сдвиг элементов массива
    • 8.60 CTIME — Преобразование времени в строку
    • 8.61 DATE_AND_TIME — Подпрограмма даты и времени
    • 8.62 DBLE — Функция преобразования в двойную точность
    • 8.63 DCMPLX — Функция преобразования в двойную комплексную точность
    • 8.64 DIGITS — Функция значимых битов
    • 8.65 DIM — Положительная разница
    • 8.66 DOT_PRODUCT — Функция скалярного произведения
    • 8.67 DPROD — Функция двойного произведения
    • 8.68 DREAL — Функция вещественной части в двойной точности
    • 8.69 DSHIFTL — Объединённый сдвиг влево
    • 8.70 DSHIFTR — Объединённый сдвиг вправо
    • 8.71 DTIME — Подпрограмма (или функция) времени выполнения
    • 8.72 EOSHIFT — Сдвиг элементов массива со сдвигом к концу
    • 8.73 EPSILON — Функция эпсилон
    • 8.74 ERF — Функция ошибки
    • 8.75 ERFC — Функция ошибки
    • 8.76 ERFC_SCALED — Функция ошибки
    • 8.77 ETIME — Подпрограмма (или функция) времени выполнения
    • 8.78 EXECUTE_COMMAND_LINE — Выполнение командной строки
    • 8.79 EXIT — Выход из программы со статусом.
    • 8.80 EXP — Экспоненциальная функция
    • 8.81 EXPONENT — Функция показателя
    • 8.82 EXTENDS_TYPE_OF — Запрос динамического типа для расширения
    • 8.83 FDATE — Получение текущего времени в виде строки
    • 8.84 FGET — Чтение одного символа в режиме потока из stdin
    • 8.85 FGETC — Чтение одного символа в режиме потока
    • 8.86 FLOOR — Функция целого пола
    • 8.87 FLUSH — Очистка буфера ввода-вывода
    • 8.88 FNUM — Функция номера файла
    • 8.89 FPUT — Запись одного символа в режиме потока в stdout
    • 8.90 FPUTC — Запись одного символа в режиме потока
    • 8.91 FRACTION — Дробная часть модели представления
    • 8.92 FREE — Освобождает память
    • 8.93 FSEEK — Подпрограмма низкого уровня для позиционирования в файле
    • 8.94 FSTAT — Получение статуса файла
    • 8.95 FTELL — Текущая позиция в потоке
    • 8.96 GAMMA — Функция гамма
    • 8.97 GERROR — Получение последнего сообщения об ошибке системы
    • 8.98 GETARG — Получение аргументов командной строки
    • 8.99 GET_COMMAND — Получение всей командной строки
    • 8.100 GET_COMMAND_ARGUMENT — Получение аргументов командной строки
    • 8.101 GETCWD — Получение текущей рабочей директории
    • 8.102 GETENV — Получение переменной окружения
    • 8.103 GET_ENVIRONMENT_VARIABLE — Получение переменной окружения
    • 8.104 GETGID — Функция группы идентификаторов
    • 8.105 GETLOG — Получение имени пользователя
    • 8.106 GETPID — Функция идентификатора процесса
    • 8.107 GETUID — Функция идентификатора пользователя
    • 8.108 GMTIME — Преобразование времени в GMT
    • 8.109 HOSTNM — Получение имени хоста системы
    • 8.110 HUGE — Наибольшее число определенного типа
    • 8.111 HYPOT — Функция евклидова расстояния
    • 8.112 IACHAR — Код в последовательности ASCII
    • 8.113 IALL — Побитовое И элементов массива
    • 8.114 IAND — Побитовое логическое И
    • 8.115 IANY — Побитовое ИЛИ элементов массива
    • 8.116 IARGC — Получение количества аргументов командной строки
    • 8.117 IBCLR — Сброс бита
    • 8.118 IBITS — Извлечение бита
    • 8.119 IBSET — Установка бита
    • 8.120 ICHAR — Функция преобразования символа в целое
    • 8.121 IDATE — Получение текущего локального времени (день/месяц/год)
    • 8.122 IEOR — Битовое логическое исключающее ИЛИ
    • 8.123 IERRNO — Получение последнего номера системной ошибки
    • 8.124 IMAGE_INDEX — Функция, преобразующая индекс косубскрипта в индекс изображения
    • 8.125 INDEX — Позиция подстроки в строке
    • 8.126 INT — Преобразование к целому типу
    • 8.127 INT2 — Преобразование к 16-битному целому типу
    • 8.128 INT8 — Преобразование к 64-битному целому типу
    • 8.129 IOR — Битовое логическое ИЛИ
    • 8.130 IPARITY — Битовое XOR элементов массива
    • 8.131 IRAND — Целое псевдослучайное число
    • 8.132 IS_IOSTAT_END — Проверка на значение конца файла
    • 8.133 IS_IOSTAT_EOR — Проверка на значение конца записи
    • 8.134 ISATTY — Является ли устройство единицей терминала.
    • 8.135 ISHFT — Сдвиг битов
    • 8.136 ISHFTC — Круговой сдвиг битов
    • 8.137 ISNAN — Проверка на NaN
    • 8.138 ITIME — Получение текущего локального времени (час/минуты/секунды)
    • 8.139 KILL — Отправка сигнала процессу
    • 8.140 KIND — Тип сущности
    • 8.141 LBOUND — Нижние границы измерения массива
    • 8.142 LCOBOUND — Нижние границы коразмерности массива
    • 8.143 LEADZ — Количество старших нулевых битов целого числа
    • 8.144 LEN — Длина символьной сущности
    • 8.145 LEN_TRIM — Длина символьной сущности без символов пробела в конце
    • 8.146 LGE — Лексически больше или равно
    • 8.147 LGT — Лексически больше
    • 8.148 LINK — Создать жёсткую ссылку
    • 8.149 LLE — Лексически меньше или равно
    • 8.150 LLT — Лексически меньше
    • 8.151 LNBLNK — Индекс последнего непустого символа в строке
    • 8.152 LOC — Возвращает адрес переменной
    • 8.153 LOG — Функция натурального логарифма
    • 8.154 LOG10 — Функция логарифма по основанию 10
    • 8.155 LOG_GAMMA — Логарифм гамма-функции
    • 8.156 LOGICAL — Преобразование к логическому типу
    • 8.157 LONG — Преобразование к целому типу
    • 8.158 LSHIFT — Сдвиг битов влево
    • 8.159 LSTAT — Получение статуса файла
    • 8.160 LTIME — Преобразование времени в локальное время
    • 8.161 MALLOC — Выделение динамической памяти
    • 8.162 MASKL — Маска с выравниванием влево
    • 8.163 MASKR — Маска с выравниванием вправо
    • 8.164 MATMUL — Умножение матриц
    • 8.165 MAX — Максимальное значение списка аргументов
    • 8.166 MAXEXPONENT — Максимальный показатель степени вещественного типа
    • 8.167 MAXLOC — Позиция максимального значения в массиве
    • 8.168 MAXVAL — Максимальное значение массива
    • 8.169 MCLOCK — Функция времени
    • 8.170 MCLOCK8 — Функция времени (64-битная)
    • 8.171 MERGE — Объединение переменных
    • 8.172 MERGE_BITS — Объединение битов по маске
    • 8.173 MIN — Минимальное значение списка аргументов
    • 8.174 MINEXPONENT — Минимальный показатель степени вещественного типа
    • 8.175 MINLOC — Позиция минимального значения в массиве
    • 8.176 MINVAL — Минимальное значение массива
    • 8.177 MOD — Функция остатка
    • 8.178 MODULO — Функция модуля
    • 8.179 MOVE_ALLOC — Перемещение выделения памяти из одного объекта в другой
    • 8.180 MVBITS — Перемещение битов из одного целого числа в другое
    • 8.181 NEAREST — Ближайшее представимое число
    • 8.182 NEW_LINE — Символ новой строки
    • 8.183 NINT — Ближайшее целое число
    • 8.184 NORM2 — Евклидовы векторные нормы
    • 8.185 NOT — Логическое отрицание
    • 8.186 NULL — Функция, возвращающая разобщённый указатель
    • 8.187 NUM_IMAGES — Функция, возвращающая количество изображений
    • 8.188 OR — Битовое логическое ИЛИ
    • 8.189 PACK — Упаковка массива в массив ранга один
    • 8.190 PARITY — Сведение с использованием исключающего ИЛИ
    • 8.191 PERROR — Вывод сообщения об ошибке системы
    • 8.192 POPCNT — Количество установленных битов
    • 8.193 POPPAR — Чётность количества установленных битов
    • 8.194 PRECISION — Десятичная точность вещественного типа
    • 8.195 PRESENT — Определить, указан ли необязательный аргумент dummy
    • 8.196 PRODUCT — Произведение элементов массива
    • 8.197 RADIX — Основание модели числа
    • 8.198 RAN — Вещественное псевдослучайное число
    • 8.199 RAND — Вещественное псевдослучайное число
    • 8.200 RANDOM_NUMBER — Псевдослучайное число
    • 8.201 RANDOM_SEED — Инициализация последовательности псевдослучайных чисел
    • 8.202 RANGE — Диапазон десятичного показателя степени
    • 8.203 RANK — Ранг объекта данных
    • 8.204 REAL — Преобразование к вещественному типу
    • 8.205 RENAME — Переименование файла
    • 8.206 REPEAT — Повторение конкатенации строк
    • 8.207 RESHAPE — Функция для изменения формы массива
    • 8.208 RRSPACING — Взаимное значение относительного интервала
    • 8.209 RSHIFT — Сдвиг битов вправо
    • 8.210 SAME_TYPE_AS — Запрос динамических типов на равенство
    • 8.211 SCALE — Масштабирование вещественного значения
    • 8.212 SCAN — Поиск в строке набора символов
    • 8.213 SECNDS — Функция времени
    • 8.214 SECOND — Функция времени ЦП
    • 8.215 SELECTED_CHAR_KIND — Выбор типа символа
    • 8.216 SELECTED_INT_KIND — Выбор целочисленного типа
    • 8.217 SELECTED_REAL_KIND — Выбор вещественного типа
    • 8.218 SET_EXPONENT — Установка показателя степени модели
    • 8.219 SHAPE — Определение формы массива
    • 8.220 SHIFTA — Сдвиг вправо с заполнением
    • 8.221 SHIFTL — Сдвиг влево
    • 8.222 SHIFTR — Сдвиг вправо
    • 8.223 SIGN — Функция копирования знака
    • 8.224 SIGNAL — Подпрограмма (или функция) обработки сигналов
    • 8.225 SIN — Синус
    • 8.226 SINH — Гиперболический синус
    • 8.227 SIZE — Определение размера массива
    • 8.228 SIZEOF — Размер выражения в байтах
    • 8.229 SLEEP — Задержка на указанное количество секунд
    • 8.230 SPACING — Наименьшее расстояние между двумя числами заданного типа
    • 8.231 SPREAD — Добавление измерения к массиву
    • 8.232 SQRT — Функция квадратного корня
    • 8.233 SRAND — Переинициализация генератора случайных чисел
    • 8.234 STAT — Получение статуса файла
    • 8.235 STORAGE_SIZE — Размер памяти в битах
    • 8.236 SUM — Сумма элементов массива
    • 8.237 SYMLNK — Создание символической ссылки
    • 8.238 SYSTEM — Выполнение командной строки
    • 8.239 SYSTEM_CLOCK — Функция времени
    • 8.240 TAN — Тангенс
    • 8.241 TANH — Гиперболический тангенс
    • 8.242 THIS_IMAGE — Функция, возвращающая индекс коподстроки данного изображения
    • 8.243 TIME — Функция времени
    • 8.244 TIME8 — Функция времени (64-битная)
    • 8.245 TINY — Наименьшее положительное число вещественного типа
    • 8.246 TRAILZ — Количество нулевых битов в конце целого числа
    • 8.247 TRANSFER — Передача битовых шаблонов
    • 8.248 TRANSPOSE — Транспонирование массива ранга два
    • 8.249 TRIM — Удаление символов пробела в конце строки
    • 8.250 TTYNAM — Получение имени терминального устройства.
    • 8.251 UBOUND — Верхние границы измерения массива
    • 8.252 UCOBOUND — Верхние границы коразмерности массива
    • 8.253 UMASK — Установка маски создания файла
    • 8.254 UNLINK — Удаление файла из файловой системы
    • 8.255 UNPACK — Распаковка массива ранга один в массив
    • 8.256 VERIFY — Поиск в строке символов, не входящих в заданный набор
    • 8.257 XOR — Поразрядное логическое исключающее ИЛИ
  • 9 Встроенные модули
    • 9.1 ISO_FORTRAN_ENV
    • 9.2 ISO_C_BINDING
    • 9.3 Модули OpenMP OMP_LIB и OMP_LIB_KINDS
  • Содействие
    • Авторы GNU Fortran
    • Проекты
    • Предлагаемые расширения
      • Расширения компилятора:
      • Параметры среды
  • Общая публичная лицензия GNU
  • Лицензия GNU на свободную документацию
    • ДОПОЛНЕНИЕ: Как использовать эту лицензию для вашей документации
  • Финансирование свободного программного обеспечения
  • Индекс параметров
  • Индекс ключевых слов

Введение

В данном руководстве описывается использование gfortran, компилятора GNU Fortran. Вы найдете здесь, как вызвать gfortran, а также его особенности и несовместимости.

  • Введение

Часть I: Вызов GNU Fortran

  • Вызов GNU Fortran: Поддерживаемые командные параметры для gfortran.
  • Время выполнения: Влияние на поведение времени выполнения с помощью переменных среды.

Часть II: Справочник по языку

  • Состояние Fortran 2003 и 2008: Поддерживаемые GNU Fortran функции Fortran 2003 и 2008.
  • Характеристики компилятора: Видимые пользователю детали реализации.
  • Расширения: Реализованные GNU Fortran расширения языка.
  • Смешанное программирование на языках: Взаимодействие с C
  • Встроенные процедуры: Поддерживаемые GNU Fortran встроенные процедуры.
  • Встроенные модули: Поддерживаемые GNU Fortran встроенные модули.
  • Содействие: Как вы можете помочь.
  • Копирование: GNU General Public License описывает, как вы можете копировать и распространять GNU Fortran.
  • Лицензия GNU на свободную документацию Информация о копировании и распространении этого руководства.
  • Финансирование: Как помочь обеспечить дальнейшую работу над свободным программным обеспечением.
  • Индекс параметров: Индекс командных параметров.
  • Индекс ключевых слов: Индекс концепций.

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

Spec-Zone.ru

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