Spec-Zone.ru › GNU Fortran 6

3.11 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- и 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-6.4.0/gfortran/GFORTRAN_005fCONVERT_005fUNIT.html

Spec-Zone.ru

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