Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

F77(1)

НАЗВАНИЕ
f77 - компилятор языка Фортран 77

СИНТАКСИС


 f77  [-c] [-p] [-O[число]] [-S] [-o вых_файл] [-g] [-onetrip] [-1]

      [-66] [-C] [-I[24s]] [-U] [-u] [-w] [-F] [-m] [-E] [-R] [-v]

      [-Ncглубина] [-Nlстепень_разветвления]

      [-Nqчисло_эквивалентностей] [-Nnразмер] [-Nsчисло_меток]

      [-Nxчисло_внешних_имен] файл ...

ОПИСАНИЕ
Команда f77 служит для вызова компилятора языка Фортран 77. Компилятор обрабатывает несколько типов файловых аргументов.

  1. Аргументы, оканчивающиеся на .f, интерпретируются как имена файлов, содержащих исходные тексты на языке f77; они компилируются, и каждый об ектный модуль помещается в текущем каталоге в файл с именем, которое образуется из имени исходного файла замещением расширения .f на .o.
  2. Аргументы, оканчивающиеся на .r или .e, интерпретируются как имена файлов, содержащих исходные тексты на языках RATFOR и EFL соответственно; сначала эти файлы обрабатываются подходящим препроцессором, а уже затем - компилятором f77 с образованием .o-файлов.
  3. Аналогично, аргументы, оканчивающиеся на .c или .s, интерпретируются как имена файлов, содержащих исходные тексты на языке C или языке ассемблера соответственно; эти файлы обрабатываются C-компилятором или ассемблером с образованием .o-файлов.
Следующие опции имеют тот же смысл, что и для команды cc(1) [см. опции редактора связей ld(1)]:

-c
Отменить редактирование связей и сгенерировать об ектный модуль для каждого исходного файла.

-p
Подготовить об ектные файлы для профилирования [см. prof(1)].

-O[число]
Вызвать оптимизатор об ектного кода. Число - это максимальное количество регистровых переменных (от 1 до 4).

-S
Скомпилировать указанные программы и результат на языке ассемблера поместить в соответствующие файлы с расширением .s (в этом случае об ектные модули не создаются).

-o вых_файл
Окончательный результат поместить в файл с именем вых_файл, а не в a.out.

-g
Сгенерировать дополнительную информацию для отладчика sdb(1).
Следующие опции специфичны для команды f77:

-onetrip
Компилировать DO-циклы так, чтобы они выполнялись по крайней мере один раз. (DO-цикл в языке Фортран 77 не выполняется ни разу, если верхняя граница значений управляющей переменной цикла меньше нижней).

-1
То же, что и -onetrip.

-66
Отменить расширения, нарушающие совместимость с языком Фортран 66.

-C
Сгенерировать команды для проверок во время выполнения, не выходят ли индексы за допустимые пределы.

-I[24s]
Изменить стандартный размер целых переменных (действует только на машинах, где "нормальный" размер целых не равен размеру действительных значений одинарной точности). Задание -I2 или -I4 (значение по умолчанию) приведет к тому, что все целые будут, соответственно, двух- или четырехбайтными. Задание -Is изменит подразумеваемый размер индексных выражений (и только их) на двухбайтный.

-U
Различать большие и малые буквы. Обычно компилятор f77 их не различает, то есть a не отличается от A.

-u
Установить тип переменной по умолчанию как неопределенный, а не использовать стандартные правила языка Фортран 77.

-w
Подавить все предупреждающие сообщения. Если опция имеет вид -w66, то подавляются только предупреждающие сообщения о нарушении совместимости с языком Фортран 66.

-F
Обработать препроцессорами efl и ratfor соответствующие файлы и результаты поместить в файлы с расширениями .f. Об ектные .o-файлы не создаются.

-m
Перед препроцессированием EFL- и RATFOR-файлов обработать их макропроцессором m4.

-E
Стоящие после этого флага символы используются как аргументы команды efl каждый раз, когда обрабатывается .e-файл.

-R
Стоящие после этого флага символы используются как аргументы команды ratfor каждый раз, когда обрабатывается .r-файл.

-v
Информационный режим. Выдавать полную диагностику во время компиляции.

-Ncглубина
Изменить максимально допустимую глубину вложенности условных операторов и DO-циклов. Подразумевается 20.

-Nlстепень_разветвления
Изменить максимально допустимое число меток в вычисляемом goto и допустимое число альтернативных точек возврата. Подразумевается 125.

-Nqчисло_эквивалентностей
Изменить максимально допустимое число связей, устанавливаемых операторами EQUIVALENCE в одной программной единице. Подразумевается 150.

-Nnразмер
Изменить размер таблицы имен. Подразумевается 401.

-Nsчисло_меток
Изменить максимально допустимое число меток у операторов одной программной единицы. Подразумевается 201.

-Nxчисло_внешних_имен
Изменить максимально допустимое число внешних имен. Подразумевается 200.

Остальные аргументы рассматриваются как опции редактора связей, имена об ектных модулей, совместимых с f77-программами (обычно эти модули получены в результате предшествующих запусков компилятора), или, возможно, библиотек f77-совместимых программ. Эти программы, вместе с результатами текущей компиляции, обрабатываются редактором связей, и созданная выполняемая программа, если не указана опция редактора связей -o, помещается в файл a.out.

ОКРУЖЕНИЕ

SHLIB
Если переменная SHLIB имеет значение YES, будут использоваться разделяемые версии библиотек libc*.

STACKCHECK
Если переменная STACKCHECK имеет значение ON, порождаются команды для контроля стека.

FP
Если переменная FP имеет значение M68881, компилятор генерирует инструкции для сопроцессора MC68881, поддерживающего арифметику вещественных чисел. Если результат какой-либо функции является вещественным, он возвращается только в регистре %fp0. Если переменная FP равна M68881u, вещественные значения возвращаются еще и в регистрах %d0/ %d1 для совместимости со старыми библиотеками.

Компилятор выбирает соответствующие версии библиотек libc и libm согласно значениям переменных окружения FP и SHLIB.

ФАЙЛЫ


  файл.[fresc]          Исходный файл.

  файл.o                Об ектный файл.

  файл.s                Ассемблерный файл.

  a.out                 Результат  работы  редактора свя-

 		        зей.

  /usr/tmp/F77*         Временные файлы.

  /lib/cpp              Препроцессор.

  /usr/bin/ratfor       Препроцессор ratfor(1).

  /usr/bin/efl          Препроцессор efl(1).

  /usr/bin/f77pass1     Компилятор, проход 1.

  /usr/bin/f77pass2     Компилятор, проход 2.

  /lib/optim            Необязательный  оптимизатор  об -

  		        ектного кода.

  /bin/as               Ассемблер as(1).

  /bin/ld               Редактор связей ld(1).

  /lib/crt1.o

  /lib/crtn.o           Стандартная программа инициализа-

		        ции.

  /lib/mcrt0.o          Программа  инициализации профили-

		        рования.

  /lib/libc.a           Стандартная библиотека, см.  раз-

		        дел 3C.

  /lib/libm.a           Математическая   библиотека,  см.

 		        раздел 3M.

  /lib/lib*_s.a         Разделяемые версии библиотек.

  /lib/lib*881.a        Версии библиотек для сопроцессора

		        арифметики вещественных чисел.

  /lib/lib*881u.a       Универсальные версии библиотек.

  /usr/lib/libp/*.a     Версии библиотек для профилирова-

		        ния.

  /usr/lib/libF77.a     Библиотека встроенных функций.

  /usr/lib/libF77_881.a Версия    библиотеки   встроенных

		        функций для сопроцессора  арифме-

		        тики вещественных чисел.

  /usr/lib/libI77.a     Библиотека ввода/вывода Фортрана.

  /usr/lib/libI77_881.a Версия   библиотеки  ввода/вывода

  		        для сопроцессора  арифметики  ве-

		        щественных чисел.

СМ. ТАКЖЕ
as(1), cc(1), efl(1), fsplit(1), ld(1), m4(1), prof(1), ratfor(1), sdb(1).

ДИАГНОСТИКА
Диагностика, выдаваемая собственно компилятором f77, не нуждается в раз яснениях. Замысловатые сообщения могут вырабатываться редактором связей ld(1).

СЮРПРИЗЫ
Компилятор f77 генерирует неправильные команды при вызове функций с результатом типа CHARACTER - неверно корректируется указатель стека. По этой же причине не работают операторы ENTRY.

При компиляции оператора INQUIRE генерируется имя L%0, которое нигде не определяется. В результате редактор связей ld(1) фиксирует фатальную ошибку.

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...