Spec-Zone.ru › GNU Fortran 7

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

Spec-Zone.ru

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