Spec-Zone.ru › GNU Fortran 10

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-10.2.0/gfortran/GFORTRAN_005fCONVERT_005fUNIT.html

Spec-Zone.ru

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