Spec-Zone.ru › GNU Fortran 8

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

Spec-Zone.ru

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