Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Fortran для персонального компьютера

..pdf
Скачиваний:
22
Добавлен:
15.11.2022
Размер:
12.5 Mб
Скачать

INCLUDE. Данные параметры позволяют пользователю зада­ вать для некоторого конкретного файла (или файлов) "спе­ цифический" способ управления (обработки), не изменяя при этом всей операционной среды компилятора в целом.

Параметр /I ("включение”) "предписывает" компиля­ тору выполнить процедуру поиска каталога (или каталогов) ,• специфицированного пользователем, прежде чем компилятор будет выполнять поиск "стандартных позиций", задаваемых переменной среды INCLUDE.

Метакоманда {INCLUDE также может задавать полную или частичную спецификацию пути .

Если для включаемого файла задана полная специфи­ кация пути, компилятор для поиска файла использует весь заданный путь; при этом переменная INCLUDE илюбые пара­ метры /I "не имеют эффекта".

Если же задана частичная спецификация пути, тогда компилятор пытается отыскать этот путь, начиная с каталога "родительского" файла, затем продолжает поиск в каталогах "дедушкиных" файлов, затем в каталогах, указанных в коман­ дной строке, и, наконец, в каталогах, указанных в переменной INCLUDE.

Параметр/X ("исключение") позволяет "предохранить" компилятор от выполнения поиска "стандартных позиций", заданных в переменной INCLUDE. Когда задан параметр /X, команда FL рассматрив]ает список "стандартных позиций" как пустой список. Однако при этом поиск в "родительских" и "дедушкиных" каталогах все же выполняется.

8.1.16 Управление предупреждающими сообщениями и сообщениями об ошибках

Во время выполнения процедур компиляции, компо­ новки и исполнения ФОРТРАН-про’грамм пользователь мо­ жет встретиться с различными типами сообщений об ошибках.

ПАРАМЕТР

/W10 121

Пользователь имеет возможность запрещать выдачу предупреждающих сообщений компилятора, используя для этих" целей параметр /W (от слова "Warning" - предупреж­ дение). Предупреждающие сообщения компилятора - это лю­ бые сообщения, начинающиеся с комбинации символов: F4. Предупреждения идентифицируют "потенциальные пробле­ мы", а не реальные ошибки, возникающие при выполнении операторов программы, которая "компилируется несколько не

так, как это хотелось бы пользователю".

Параметр /W2 "предписывает" компилятору выдавать предупреждающие сообщения на экран. При этом выполняет­ ся "наиболее тщательная" проверка возможных ошибок.

Параметр /W1 (принимается по умолчанию) также "предписывает компилятору выдавать предупреждающие со­

общения. Однако сообщения выдаются только для некоторых, "наиболее сомнительных" ситуаций.

Параметр /WO отменяет выдачу всех предупреждаю­ щих сообщений. Параметр /WO следует применять при ком­ пиляции программ, которые преднамеренно включают "сом­ нительные* операторы.

8.1.17Синтаксические ошибки (параметр /Zs)

При задании парамертра /Zs компилятор выполняет только процедуру синтаксической проверки. При этом быст­ рый поиск и корректировка синтаксических ошибок выполня­ ется до компиляции исходного файла.

При задании параметра /Zs никакие коды не генери­ руются и никакие объектные файлы или файлы листингов объектных программ пользователю не предоставляются. Однако, при необходимости генерации файла листинга исход­ ной программы пользователь может втой же командной строке указать параметр /Fs.

Действие параметра /Zs распространяется на все исход­ ные файлы, указанные в командной строке после параметра /Zs; на исходные файлы, указанные в командной строке до параметра /Zs, его действие нс распространяется.

8.1.18 Подготовка к отладке ( параметры /Zi, /Об )

В результате использования параметра /Zi получается объектный файл, содержащий полную информацию для вы­ полнения процедуры отладки (включая: таблицу символов и номера строк) с использованием отладчика CodeView фирмы Microsoft.

При использовании команды FL-для задания процедур компиляции и компоновки спецификация параметра /Zi авто­ матически обуславливает задание параметра /СО для выпол­ нения этапа компоновки.

Если компоновка выполняется отдельным шагом (ис­ пользуя либо команду FL, либо команду LIN К), вместо совме­ стного выполнения компиляции и компоновки за один шаг, следует убедиться, что для выполнения этапа компоновки спе­ цифицирован параметр /СО. В противном случае, строки сим­ волов и строки исходного кода будут "пропадать” при запуске программы через отладчик CodeView.

Параметр / О б "предписывает" компилятору не выпол­ нять процедуру оптимизации. Использовать параметр /Od ре­ комендуется всякий раз, когда используется параметр /Zi. Его также рекомендуется использовать при тестировании, по­ скольку при этом скорость компиляции увеличивается на

30%-35%.

Действие параметров /Zi и / О б не распространяется на объектные файлы, заданные в командной строке. Параметр /Zd обуславливает задание на этапе компоновки параметра

8.1.19 Использование процессоров 80186, 80188, 80286 или 80386 (параметры /GO, /G1, /G2)

Параметр /GO "разрешает" использовать систему ко­ манд процессора 8086/о088. Указывать его явно нет необхо­ димости, поскольку он принимается по умолчанию. Програм­ мы, скомпилированные таким образом, будут также исполнимы на процессорах 80186, 80188, 80286 или 80386.

Параметр /G1 предписывает использование системы команд процессора 80186/80188.

Параметр /G 2 — систему команд процессора 80286/80386.

В командной строке FL разрешено указывать только один из указанных трех параметров. Если их указано более одного, команда FL выдает предупреждение й будет сгене­ рирован код, использующий последний параметр / G i.

8.1.20Оптимизация (параметры /О и / Zp)

ПАРАМЕТР

/0<letters>

Параметр /О ("Орйатайоп'-оптимизация) предостав­ ляет возможность управления процессом оптимизации. Стро­ ка <lclters> после префикса /О позволяет пользователю воз­ действовать на то, как компилятор оптимизирует исходный код программы. В строке <lctters> могут указываться одна (или несколько) из следующих букв:

d — оптимизация запрещена, 1— оптимизация циклов,

р —повышается точность результатов выполнения опера­ ции над числами с плавающей точкой ,

s — улучшается размер кода,

t — улучшается скорость исполнения,

х — полная оптимизация; эквивалентно параметрам /ОИ /Gs

ПАРАМЕТР /Zp[[l,2,4] ]

Параметр /Zp осуществляет управление начальными адресами (упаковкой) переменных" в структурах. Плотная упаковка позволяет экономить память за счет увеличения вре­ мени доступа к несимвольным переменным. Любая метако­ манда $РАСК:п изменяет действие параметра /Zp, за исклю­ чением метакоманды $РАСК, которая восстанавливает заданный параметр командной строки.

8.1.21 Разрешение и запрещение проверки стеков (параметры /Се и /Gs)

Пользователь может в своей программе организовать проверку переполнения стека, используя для этого параметр /Ge, разрешающий применение "стековых пробников".

"Стековый пробник" генерирует сообщение и "заверша­ ет" программу, если определено, что размер требуемого стека

LINK objfiles, [, lexcfile 11, [mapfile ]l, |libfiles ] ] 11 (options ]|.; ] параметры имеют следующий смысл:

objfiles — список объектных файлов, разделенных пробе­ лом или знаком

exefile — имя создаваемого выполняемого файла. Если это имя нс указано, то по умолчанию имя файла будет совпадать с именем первого объектного файла и иметь расширение ".ехе" mapfile — имя файла для вывода карты памяти, т.е. разме­ щения данных в памяти машины. По умолчанию предполага­

ется пустой файл.

libfiles — имена библиотек объектных файлов, в которых будет производится поиск требуемых модулей. Имена биб­ лиотек также разделяются пробелом или знаком м+м. По умол­ чанию предполагается, что стандартные библиотеки Фортрана всегда добавляются в этот список. *

options — список опций команды LINK.

ПРИМЕЧАНИЕ

Опции команды LINK могут распологаться также перед списком объектных файлов.

В отличии от опций FLoпции LINK не различи ют строч­ ные и прописные буквы, например, опции /СО /Со и /со идентичны.

Ниже приведены опции редактора связей, используе­ мых для Фортран-программ. В квадратных скобках указаны необязательные буквы в названии опции, которые можно сок­ ратить.

8.2.1Получение списка ключей ( /НЕ )

/HE[LP ] — получение на экране дисплея полного спис­ ка опций редактора связей.

8.2.2Остановка перед записью выполняемого

файла ( / Р )

/ Р | AUSE 1— при наличии данной опции программа ос­ тановится перед записью ехе - файла. Это позволит пользова­ телю, например, сменить диск, на который будет происходить запись выполняемой программы.

8.2.3Получение информации о процессе

сборки ( / I ).

/I INFORMATION | — выдать на экран информацию о процессе сборки, включая ^информацию о поиске файлов в библиотеках и именах обрабатываемых файлов.

8.2.4Упаковка выполняемого файла ( ).

/EfXEPACK 1— убирает последовательности повторя­ ющихся файлов и оптимизирует таблицу ссылок перед за­ писью выполняемого файла. Созданный таким образом файл занимает меньше места и быстрей загружается при его запуске на выполнение. Следует однако иметь в виду, что использо­ вание таких файлов с символьным отладчиком недопустимо.

i

187