3.10 GFORTRAN_CONVERT_UNIT—Установка порядка следования байтов для неформатированного ввода/вывода
Установив переменную GFORTRAN_CONVERT_UNIT, можно изменить представление данных для неформатированных файлов. Синтаксис для переменной GFORTRAN_CONVERT_UNIT:
GFORTRAN_CONVERT_UNIT: mode | mode ';' exception | exception ; mode: 'native' | 'swap' | 'big_endian' | 'little_endian' ; exception: mode ':' unit_list | unit_list ; unit_list: unit_spec | unit_list unit_spec ; unit_spec: INTEGER | INTEGER '-' INTEGER ;
Переменная состоит из необязательного режима по умолчанию, за которым следуют список необязательных исключений, разделенных точкой с запятой от предыдущего значения по умолчанию и друг от друга. Каждое исключение состоит из формата и списка единиц, разделенных запятыми. Допустимые значения для режимов такие же, как и для спецификатора CONVERT:
-
NATIVEИспользовать родной формат. Это значение по умолчанию. -
SWAPПереключаться между порядками следования байтов little-endian и big-endian. -
LITTLE_ENDIANИспользовать формат little-endian для неформатированных файлов. -
BIG_ENDIANИспользовать формат big-endian для неформатированных файлов.
Отсутствие режима для исключения означает BIG_ENDIAN. Примеры значений для GFORTRAN_CONVERT_UNIT:
-
'big_endian'Выполнять все операции неформатированного ввода/вывода в режиме big_endian. -
'little_endian;native:10-20,25'Выполнять все операции неформатированного ввода/вывода в режиме little_endian, за исключением единиц с номерами от 10 до 20 и 25, которые используют родной формат. -
'10-20'Единицы с номерами от 10 до 20 используют big-endian, остальные — родной формат.
Настройка переменных среды должна выполняться в командной строке или с помощью команды export для sh-совместимых оболочек и с помощью setenv для csh-совместимых оболочек.
Пример для sh:
$ gfortran foo.f90 $ GFORTRAN_CONVERT_UNIT='big_endian;native:10-20' ./a.out
Пример кода для csh:
% gfortran foo.f90 % setenv GFORTRAN_CONVERT_UNIT 'big_endian;native:10-20' % ./a.out
Использование представления, отличного от родного, для неформатированных данных влечёт значительное снижение скорости. Если скорость в этом случае важна, лучше использовать этот метод только для данных, которые должны быть переносимыми.
См. CONVERT спецификатор для альтернативного способа задания представления данных для неформатированных файлов. См. Параметры выполнения для настройки представления данных по умолчанию для всей программы. Спецификатор CONVERT переопределяет опции компиляции -fconvert.
Обратите внимание, что значения, заданные через переменную среды GFORTRAN_CONVERT_UNIT, переопределят спецификатор CONVERT в операторе открывания. Это обеспечивает контроль над форматами данных пользователям, у которых нет исходного кода их программы.
Далее: GFORTRAN_ERROR_BACKTRACE, Предыдущее: GFORTRAN_LIST_SEPARATOR, Наверх: Выполнение [Оглавление][Индекс]
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-9.3.0/gfortran/GFORTRAN_005fCONVERT_005fUNIT.html