Spec-Zone.ru › GNU Fortran 11

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

Spec-Zone.ru

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