Компилятор GNU Fortran
Краткое содержание
- Введение
- 1 Введение
- 2 Командные параметры GNU Fortran
- 3 Выполнение: Влияние на поведение выполнения с помощью переменных окружения
- 4 Статус Fortran 2003 и 2008
- 5 Характеристики компилятора
- 6 Расширения
- 7 Программирование на смешанных языках
- 8 Программирование с использованием коарраев
- 9 Встроенные процедуры
- 10 Встроенные модули
- Содействие
- Общая публичная лицензия GNU
- Лицензия на свободную документацию GNU
- Финансирование свободного программного обеспечения
- Индекс параметров
- Индекс ключевых слов
Содержание
- Введение
- 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—Показать стек вызовов при ошибках во время выполнения
-
3.1
- 4 Состояние Fortran 2003 и 2008
- 5 Характеристики компилятора
-
6 Расширения
-
6.1 Расширения, реализованные в GNU Fortran
- 6.1.1 Спецификации типа kind старого стиля
- 6.1.2 Инициализация переменных старого стиля
- 6.1.3 Расширения для namelist
-
6.1.4
Xформатный дескриптор без поля подсчёта -
6.1.5 Запятые в спецификациях
FORMAT -
6.1.6 Пропущенная точка в спецификациях
FORMAT - 6.1.7 Списки элементов ввода-вывода
-
6.1.8
Qэкспоненциальная буква - 6.1.9 BOZ литеральные константы
- 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 OpenACC
-
6.1.18 Функции списка аргументов
%VAL,%REFи%LOC - 6.1.19 Чтение/Запись после маркера EOF
- 6.2 Расширения, не реализованные в GNU Fortran
-
6.1 Расширения, реализованные в GNU Fortran
-
7 Программирование на смешанных языках
- 7.1 Взаимодействие с 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.3.1
- 7.4 Правила именования и передачи аргументов
-
8 Программирование с использованием комассивов
- 8.1 Документация ABI для типов и перечислений
-
8.2 Документация ABI для функций
-
8.2.1
_gfortran_caf_init— Функция инициализации -
8.2.2
_gfortran_caf_finish— Функция завершения -
8.2.3
_gfortran_caf_this_image— Получение номера изображения -
8.2.4
_gfortran_caf_num_images— Получение максимального количества изображений -
8.2.5
_gfortran_caf_register— Регистрация комассивов -
8.2.6
_gfortran_caf_deregister— Дерегистрация комассивов -
8.2.7
_gfortran_caf_send— Отправка данных с локального изображения на удалённое -
8.2.8
_gfortran_caf_get— Получение данных с удалённого изображения -
8.2.9
_gfortran_caf_sendget— Отправка данных между удалёнными изображениями -
8.2.10
_gfortran_caf_lock— Блокировка переменной блокировки -
8.2.11
_gfortran_caf_lock— Разблокировка переменной блокировки -
8.2.12
_gfortran_caf_event_post— Размещение события -
8.2.13
_gfortran_caf_event_wait— Ожидание наступления события -
8.2.14
_gfortran_caf_event_query— Запрос количества событий -
8.2.15
_gfortran_caf_sync_all— Барьер всех изображений -
8.2.16
_gfortran_caf_sync_images— Барьер для выбранных изображений -
8.2.17
_gfortran_caf_sync_memory— Ожидание завершения операций с сегментами памяти -
8.2.18
_gfortran_caf_error_stop— Прерывание программы с кодом ошибки -
8.2.19
_gfortran_caf_error_stop_str— Прерывание программы со строкой ошибки -
8.2.20
_gfortran_caf_atomic_define— Атомарная присваивание переменной -
8.2.21
_gfortran_caf_atomic_ref— Атомарная ссылка на переменную -
8.2.22
_gfortran_caf_atomic_cas— Атомарный сравнение и обмен -
8.2.23
_gfortran_caf_atomic_op— Атомарная операция -
8.2.24
_gfortran_caf_co_broadcast— Отправка данных всем изображениям -
8.2.25
_gfortran_caf_co_max— Коллективное максимальное сокращение -
8.2.26
_gfortran_caf_co_min— Коллективное минимальное сокращение -
8.2.27
_gfortran_caf_co_sum— Коллективное суммирующее сокращение -
8.2.28
_gfortran_caf_co_reduce— Общее коллективное сокращение
-
8.2.1
- 9 Встроенные процедуры
- 9.1 Введение в встроенные процедуры
-
9.2
ABORT— Прервать выполнение программы -
9.3
ABS— Модуль числа -
9.4
ACCESS— Проверка режимов доступа к файлам -
9.5
ACHAR— Символ в последовательности ASCII -
9.6
ACOS— Функция арккосинуса -
9.7
ACOSH— Обратная гиперболическая функция косинуса -
9.8
ADJUSTL— Выравнивание строки влево -
9.9
ADJUSTR— Выравнивание строки вправо -
9.10
AIMAG— Мнимая часть комплексного числа -
9.11
AINT— Округление до целого числа -
9.12
ALARM— Выполнение подпрограммы после задержки -
9.13
ALL— Все значения в MASK вдоль DIM истинны -
9.14
ALLOCATED— Статус выделенного объекта -
9.15
AND— Побитовая логическая операция И -
9.16
ANINT— Ближайшее целое число -
9.17
ANY— Любое значение в MASK вдоль DIM истинно -
9.18
ASIN— Функция арксинуса -
9.19
ASINH— Обратная гиперболическая функция синуса -
9.20
ASSOCIATED— Статус указателя или пары указатель/цель -
9.21
ATAN— Функция арктангенса -
9.22
ATAN2— Функция арктангенса -
9.23
ATANH— Обратная гиперболическая функция тангенса -
9.24
ATOMIC_ADD— Атомарная операция сложения -
9.25
ATOMIC_AND— Атомарная побитовая операция И -
9.26
ATOMIC_CAS— Атомарный сравни и поменять -
9.27
ATOMIC_DEFINE— Установка переменной атомарно -
9.28
ATOMIC_FETCH_ADD— Атомарная операция сложения с предварительным извлечением -
9.29
ATOMIC_FETCH_AND— Атомарная побитовая операция И с предварительным извлечением -
9.30
ATOMIC_FETCH_OR— Атомарная побитовая операция ИЛИ с предварительным извлечением -
9.31
ATOMIC_FETCH_XOR— Атомарная побитовая операция ИСКЛЮЧАЮЩЕЕ ИЛИ с предварительным извлечением -
9.32
ATOMIC_OR— Атомарная побитовая операция ИЛИ -
9.33
ATOMIC_REF— Получение значения переменной атомарно -
9.34
ATOMIC_XOR— Атомарная побитовая операция ИСКЛЮЧАЮЩЕЕ ИЛИ -
9.35
BACKTRACE— Вывести стек вызовов -
9.36
BESSEL_J0— Функция Бесселя первого рода нулевого порядка -
9.37
BESSEL_J1— Функция Бесселя первого рода первого порядка -
9.38
BESSEL_JN— Функция Бесселя первого рода -
9.39
BESSEL_Y0— Функция Бесселя второго рода нулевого порядка -
9.40
BESSEL_Y1— Функция Бесселя второго рода первого порядка -
9.41
BESSEL_YN— Функция Бесселя второго рода -
9.42
BGE— Побитовое больше или равно -
9.43
BGT— Побитовое больше -
9.44
BIT_SIZE— Функция получения размера в битах -
9.45
BLE— Побитовое меньше или равно -
9.46
BLT— Побитовое меньше -
9.47
BTEST— Функция проверки бита -
9.48
C_ASSOCIATED— Статус указателя C -
9.49
C_F_POINTER— Преобразование указателя C в Fortran -
9.50
C_F_PROCPOINTER— Преобразование указателя на процедуру C в Fortran -
9.51
C_FUNLOC— Получение адреса процедуры в C -
9.52
C_LOC— Получение адреса объекта в C -
9.53
C_SIZEOF— Размер выражения в байтах -
9.54
CEILING— Функция целого потолка -
9.55
CHAR— Функция преобразования символов -
9.56
CHDIR— Изменение текущей рабочей директории -
9.57
CHMOD— Изменение разрешений доступа к файлам -
9.58
CMPLX— Функция преобразования в комплексное число -
9.59
CO_BROADCAST— Копирование значения на все изображения текущего набора -
9.60
CO_MAX— Максимальное значение в текущем наборе изображений -
9.61
CO_MIN— Минимальное значение в текущем наборе изображений -
9.62
CO_REDUCE— Сведение значений в текущем наборе изображений -
9.63
CO_SUM— Сумма значений в текущем наборе изображений -
9.64
COMMAND_ARGUMENT_COUNT— Получить количество аргументов командной строки -
9.65
COMPILER_OPTIONS— Параметры, переданные компилятору -
9.66
COMPILER_VERSION— Строка версии компилятора -
9.67
COMPLEX— Функция преобразования в комплексное число -
9.68
CONJG— Функция комплексного сопряжения -
9.69
COS— Функция косинуса -
9.70
COSH— Функция гиперболического косинуса -
9.71
COUNT— Функция подсчёта -
9.72
CPU_TIME— Время работы процессора в секундах -
9.73
CSHIFT— Круговой сдвиг элементов массива -
9.74
CTIME— Преобразование времени в строку -
9.75
DATE_AND_TIME— Подпрограмма получения даты и времени -
9.76
DBLE— Функция преобразования в двойное число -
9.77
DCMPLX— Функция преобразования в двойное комплексное число -
9.78
DIGITS— Функция значимых двоичных разрядов -
9.79
DIM— Положительная разность -
9.80
DOT_PRODUCT— Функция скалярного произведения -
9.81
DPROD— Функция двойного произведения -
9.82
DREAL— Функция действительной части двойного числа -
9.83
DSHIFTL— Объединённый сдвиг влево -
9.84
DSHIFTR— Объединённый сдвиг вправо -
9.85
DTIME— Подпрограмма (или функция) измерения времени выполнения -
9.86
EOSHIFT— Сдвиг элементов массива с конца -
9.87
EPSILON— Функция ε -
9.88
ERF— Функция ошибки -
9.89
ERFC— Функция ошибки -
9.90
ERFC_SCALED— Функция ошибки -
9.91
ETIME— Подпрограмма (или функция) измерения времени выполнения -
9.92
EXECUTE_COMMAND_LINE— Выполнение командной строки -
9.93
EXIT— Выход из программы со статусом. -
9.94
EXP— Экспоненциальная функция -
9.95
EXPONENT— Функция определения порядка -
9.96
EXTENDS_TYPE_OF— Запрос динамического типа расширения -
9.97
FDATE— Получение текущего времени в виде строки -
9.98
FGET— Чтение одного символа в режиме потока со стандартного ввода -
9.99
FGETC— Чтение одного символа в режиме потока -
9.100
FLOOR— Функция целого пола -
9.101
FLUSH— Очистка буфера ввода-вывода -
9.102
FNUM— Функция номера файла -
9.103
FPUT— Запись одного символа в режиме потока в стандартный вывод -
9.104
FPUTC— Запись одного символа в режиме потока -
9.105
FRACTION— Дробная часть представления модели -
9.106
FREE— Освобождение памяти -
9.107
FSEEK— Подпрограмма низкого уровня для позиционирования в файле -
9.108
FSTAT— Получение статуса файла -
9.109
FTELL— Текущая позиция в потоке
-
9.110
GAMMA— Функция гамма -
9.111
GERROR— Получение последнего сообщения об ошибке системы -
9.112
GETARG— Получение аргументов командной строки -
9.113
GET_COMMAND— Получение всей командной строки -
9.114
GET_COMMAND_ARGUMENT— Получение аргументов командной строки -
9.115
GETCWD— Получение текущей рабочей директории -
9.116
GETENV— Получение переменной окружения -
9.117
GET_ENVIRONMENT_VARIABLE— Получение переменной окружения -
9.118
GETGID— Функция получения идентификатора группы -
9.119
GETLOG— Получение имени пользователя -
9.120
GETPID— Функция получения идентификатора процесса -
9.121
GETUID— Функция получения идентификатора пользователя -
9.122
GMTIME— Преобразование времени в формат GMT -
9.123
HOSTNM— Получение имени хоста системы -
9.124
HUGE— Наибольшее число определенного типа -
9.125
HYPOT— Функция вычисления евклидова расстояния -
9.126
IACHAR— Код в последовательности ASCII -
9.127
IALL— Побитовое И для элементов массива -
9.128
IAND— Побитовое логическое И -
9.129
IANY— Побитовое ИЛИ для элементов массива -
9.130
IARGC— Получение количества аргументов командной строки -
9.131
IBCLR— Сброс бита -
9.132
IBITS— Извлечение бита -
9.133
IBSET— Установка бита -
9.134
ICHAR— Функция преобразования символа в целое число -
9.135
IDATE— Подпрограмма получения текущего локального времени (день/месяц/год) -
9.136
IEOR— Побитовое логическое исключающее ИЛИ -
9.137
IERRNO— Получение кода последней системной ошибки -
9.138
IMAGE_INDEX— Функция преобразования индекса подмассива в индекс изображения -
9.139
INDEX— Позиция подстроки в строке -
9.140
INT— Преобразование к целому типу -
9.141
INT2— Преобразование к 16-битному целому типу -
9.142
INT8— Преобразование к 64-битному целому типу -
9.143
IOR— Побитовое логическое ИЛИ -
9.144
IPARITY— Побитовое исключающее ИЛИ для элементов массива -
9.145
IRAND— Целое псевдослучайное число -
9.146
IS_IOSTAT_END— Проверка на конец файла -
9.147
IS_IOSTAT_EOR— Проверка на конец записи -
9.148
ISATTY— Является ли устройство терминалом. -
9.149
ISHFT— Сдвиг битов -
9.150
ISHFTC— Циклический сдвиг битов -
9.151
ISNAN— Проверка на NaN -
9.152
ITIME— Подпрограмма получения текущего локального времени (час/минуты/секунды) -
9.153
KILL— Отправка сигнала процессу -
9.154
KIND— Тип сущности -
9.155
LBOUND— Нижние границы измерения массива -
9.156
LCOBOUND— Нижние границы коразмерности массива -
9.157
LEADZ— Количество старших нулевых битов целого числа -
9.158
LEN— Длина символьной сущности -
9.159
LEN_TRIM— Длина символьной сущности без хвостовых пробелов -
9.160
LGE— Лексически больше или равно -
9.161
LGT— Лексически больше -
9.162
LINK— Создание жесткой ссылки -
9.163
LLE— Лексически меньше или равно -
9.164
LLT— Лексически меньше -
9.165
LNBLNK— Индекс последнего не пробельного символа в строке -
9.166
LOC— Возвращает адрес переменной -
9.167
LOG— Функция натурального логарифма -
9.168
LOG10— Функция логарифма по основанию 10 -
9.169
LOG_GAMMA— Логарифм функции гамма -
9.170
LOGICAL— Преобразование к логическому типу -
9.171
LONG— Преобразование к целому типу -
9.172
LSHIFT— Левый сдвиг битов -
9.173
LSTAT— Получение состояния файла -
9.174
LTIME— Преобразование времени в локальное время -
9.175
MALLOC— Выделение динамической памяти -
9.176
MASKL— Маска с выравниванием слева -
9.177
MASKR— Маска с выравниванием справа -
9.178
MATMUL— Умножение матриц -
9.179
MAX— Максимальное значение списка аргументов -
9.180
MAXEXPONENT— Максимальный показатель степени для вещественного типа -
9.181
MAXLOC— Позиция максимального значения в массиве -
9.182
MAXVAL— Максимальное значение в массиве -
9.183
MCLOCK— Функция времени -
9.184
MCLOCK8— Функция времени (64-битная) -
9.185
MERGE— Объединение переменных -
9.186
MERGE_BITS— Объединение битов с маской -
9.187
MIN— Минимальное значение списка аргументов -
9.188
MINEXPONENT— Минимальный показатель степени для вещественного типа -
9.189
MINLOC— Позиция минимального значения в массиве -
9.190
MINVAL— Минимальное значение в массиве -
9.191
MOD— Функция остатка -
9.192
MODULO— Функция модуля -
9.193
MOVE_ALLOC— Перемещение выделения памяти из одного объекта в другой -
9.194
MVBITS— Перемещение битов из одного целого числа в другое -
9.195
NEAREST— Ближайшее представимое число -
9.196
NEW_LINE— Символ новой строки -
9.197
NINT— Ближайшее целое число -
9.198
NORM2— Евклидовы нормы векторов -
9.199
NOT— Логическое отрицание -
9.200
NULL— Функция, возвращающая разобщённый указатель -
9.201
NUM_IMAGES— Функция, возвращающая количество изображений -
9.202
OR— Побитовое логическое ИЛИ -
9.203
PACK— Упаковка массива в массив ранга один -
9.204
PARITY— Сведение с использованием исключающего ИЛИ -
9.205
PERROR— Вывод сообщения об ошибке системы -
9.206
POPCNT— Количество установленных битов -
9.207
POPPAR— Чётность количества установленных битов -
9.208
PRECISION— Десятичная точность вещественного типа -
9.209
PRESENT— Определение, указан ли необязательный аргумент-заглушка -
9.210
PRODUCT— Произведение элементов массива -
9.211
RADIX— Основание модели числа -
9.212
RAN— Вещественное псевдослучайное число -
9.213
RAND— Вещественное псевдослучайное число -
9.214
RANDOM_NUMBER— Псевдослучайное число -
9.215
RANDOM_SEED— Инициализация последовательности псевдослучайных чисел -
9.216
RANGE— Десятичный диапазон показателей степени -
9.217
RANK— Ранг объекта данных -
9.218
REAL— Преобразование к вещественному типу -
9.219
RENAME— Переименование файла -
9.220
REPEAT— Повторное конкатенация строк -
9.221
RESHAPE— Функция изменения формы массива -
9.222
RRSPACING— Взаимное значение относительного интервала -
9.223
RSHIFT— Правый сдвиг битов
-
9.110
-
9.224
SAME_TYPE_AS— Запрос динамических типов для проверки равенства -
9.225
SCALE— Масштабирование вещественного значения -
9.226
SCAN— Поиск в строке набора символов -
9.227
SECNDS— Функция времени -
9.228
SECOND— Функция времени процессора -
9.229
SELECTED_CHAR_KIND— Выбор типа символов -
9.230
SELECTED_INT_KIND— Выбор целого типа -
9.231
SELECTED_REAL_KIND— Выбор вещественного типа -
9.232
SET_EXPONENT— Установка показателя степени модели -
9.233
SHAPE— Определение формы массива -
9.234
SHIFTA— Сдвиг вправо с заполнением -
9.235
SHIFTL— Сдвиг влево -
9.236
SHIFTR— Сдвиг вправо -
9.237
SIGN— Функция копирования знака -
9.238
SIGNAL— Подпрограмма (или функция) обработки сигналов -
9.239
SIN— Функция синуса -
9.240
SINH— Функция гиперболического синуса -
9.241
SIZE— Определение размера массива -
9.242
SIZEOF— Размер выражения в байтах -
9.243
SLEEP— Ожидание заданного количества секунд -
9.244
SPACING— Минимальное расстояние между двумя числами заданного типа -
9.245
SPREAD— Добавление измерения к массиву -
9.246
SQRT— Функция квадратного корня -
9.247
SRAND— Переинициализация генератора случайных чисел -
9.248
STAT— Получение статуса файла -
9.249
STORAGE_SIZE— Размер хранения в битах -
9.250
SUM— Сумма элементов массива -
9.251
SYMLNK— Создание символической ссылки -
9.252
SYSTEM— Выполнение командной строки -
9.253
SYSTEM_CLOCK— Функция времени -
9.254
TAN— Функция тангенса -
9.255
TANH— Функция гиперболического тангенса -
9.256
THIS_IMAGE— Функция возвращающая индекс коподписи этого изображения -
9.257
TIME— Функция времени -
9.258
TIME8— Функция времени (64-битная) -
9.259
TINY— Наименьшее положительное число заданного вещественного типа -
9.260
TRAILZ— Количество нулевых битов справа от целого числа -
9.261
TRANSFER— Передача битовых шаблонов -
9.262
TRANSPOSE— Транспонирование массива ранга два -
9.263
TRIM— Удаление символов пробела в конце строки -
9.264
TTYNAM— Получение имени терминального устройства. -
9.265
UBOUND— Верхние границы измерения массива -
9.266
UCOBOUND— Верхние границы коразмерности массива -
9.267
UMASK— Установка маски создания файла -
9.268
UNLINK— Удаление файла из файловой системы -
9.269
UNPACK— Разбитие массива ранга один на массив -
9.270
VERIFY— Поиск в строке символов, не входящих в заданный набор -
9.271
XOR— Побитовое логическое исключающее ИЛИ
-
9.224
- 10 Встроенные модули
- Вклад
- Общая публичная лицензия GNU
- Лицензия GNU на свободную документацию
- Финансирование свободного программного обеспечения
- Индекс опций
- Индекс ключевых слов
Введение
Данное руководство описывает использование gfortran, компилятора GNU Fortran. В руководстве вы найдете, как вызвать gfortran, а также его возможности и несовместимости.
Часть I: Вызов GNU Fortran
Часть II: Справочник по языку
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-5.4.0/gfortran/index.html