6.1.30 Расширенные спецификаторы Ввода/Вывода
GNU Fortran поддерживает дополнительные устаревшие спецификаторы Ввода/Вывода CARRIAGECONTROL, READONLY, и SHARE с флагом компиляции -fdec для совместимости.
CARRIAGECONTROL-
Спецификатор
CARRIAGECONTROLпозволяет пользователю управлять параметрами завершения строк между записями вывода для устройства Ввода/Вывода. Спецификатор не имеет смысла для файлов только для чтения. КогдаCARRAIGECONTROLуказан при открытии устройства для форматированного записи, точная настройкаCARRIAGECONTROLопределяет, какие символы следует записать между записями вывода. Синтаксис:OPEN(..., CARRIAGECONTROL=cc)
Где cc — это выражение символьного типа, которое вычисляется в одном из следующих значений:
'LIST'Одна перенос строки между записями (по умолчанию) 'FORTRAN'Устаревшая интерпретация первого символа (см. ниже) 'NONE'Нет разделителя между записями С
CARRIAGECONTROL='FORTRAN', при записи записи первый символ входной записи не записывается, а вместо этого определяет разделитель записей вывода следующим образом:Ведущая буква Значение Разделительный символ(ы) вывода '+'Наложение Только возврат каретки '-'Новая строка Перенос строки и возврат каретки '0'Пропустить строку Два переноса строки и возврат каретки '1'Новая страница Формат страницы и возврат каретки '$'Запрос Перенос строки (без возврата каретки) CHAR(0)Наложение (без продвижения) Нет READONLY-
Спецификатор
READONLYможет быть указан при открытии устройства и эквивалентен указаниюACTION='READ', за исключением того, что файл не может быть удалён при закрытии (т.е.CLOSEсSTATUS="DELETE"). Синтаксис:OPEN(..., READONLY) SHARE-
Спецификатор
SHAREпозволяет установить блокировку на уровне системы для устройства при его открытии для контролируемого доступа из нескольких процессов/потоков. СпецификаторSHAREимеет несколько форм:OPEN(..., SHARE=sh) OPEN(..., SHARED) OPEN(..., NOSHARED)
Где sh в первой форме — это выражение символьного типа, которое вычисляется в значении, представленном в таблице ниже. Последние две формы являются псевдонимами для конкретных значений sh:
Явное представление Короткая форма Значение SHARE='DENYRW'NOSHAREDЭксклюзивная (запись) блокировка SHARE='DENYNONE'SHAREDУчастие (чтение) блокировка В общем случае только один процесс может удерживать эксклюзивную (запись) блокировку для данного файла одновременно, в то время как множество процессов могут удерживать общие (чтение) блокировки для одного и того же файла.
Поведение блокировки может различаться в зависимости от вашей операционной системы. В системах POSIX блокировка реализуется с помощью
fcntl. Обратитесь к руководству вашей операционной системы для получения дополнительных сведений. Блокировка черезSHARE=не поддерживается в других системах.
Далее: Устаревшие операторы PARAMETER, Предыдущий: Побитовые логические операторы, Вверх: Расширения, реализованные в GNU Fortran [Оглавление][Индекс]
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-8.4.0/gfortran/Extended-I_002fO-specifiers.html