Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ по выполнению лабораторных работ.docx
Скачиваний:
26
Добавлен:
12.06.2017
Размер:
278.24 Кб
Скачать

С т р у к т у р а командных файлов ms Fortran 5.0 и их использование

Для выполнения программы, написанной на языке Фортран, необходимо выполнить три основных этапа:

- компиляцию исходной программы с получением объектного файла.Данный файл содержит операторы программы, переведенные на машинныйязык, однако он еще не является окончательным файлом, готовым длявыполнения;

- компоновку объектного файла, в процессе которой объектныйфайл дополняется подпрограммами встроенных функций, чтения данных ит.п. из библиотеки Фортрана, а также внешними подпрограммами из других библиотек, если на них есть ссылки. В результате формируетсяEXE-файл, готовый для выполнения;

- выполнение полученного EXE-файла.

Для компиляции исходной Фортран-программы необходимо создать ее

с помощью любого DOS-редактора и разместить в подкаталоге USERS каталога FORTRAN. В этом же подкаталоге находится файл f77.bat, вызывающий компилятор и имеющий следующую структуру, которую для удобства описания разместим по строкам:

C:\fortran\bin\fl /c /FPc /AL

/FsC:\fortran\users\%1

/FoC:\fortran\users\fobj\%1

C:\FORTRAN\USERS\%1.for

if not errorlevel 1 del c:\fortran\users\%1.lst

Первая строка вызывает компилятор fl.exe с указанием файловогопути к нему. Запуск компилятора осуществляется с опциями: толькокомпиляции (/с), работы в режиме с плавающей точкой и с использованием сопроцессора (/FPc), использования модели большой памяти (/AL).Вторая строка предусматривает распечатку листинга программы с указанием каталога его размещения. При этом символ %1 здесь и далее заменяется именем файла, которое вводится при запуске компилятора в командной строке (см. ниже), а файл листинга получает расширение .lst.В случае отсутствия ошибок компиляции создается объектный файл срасширением .obj, а его размещение определяет третья строка. Четвертая строка определяет размещение исходного файла программы и егорасширение. Наконец, пятая строка определяет удаление файла листингапрограммы, если компиляция прошла без ошибок.

Пусть требуется откомпилировать файл myfile.for. Разместим егов подкаталоге USERS каталога FORTRAN, затем выделим в панели DOS-навигатора файл f77.bat и перенесем его имя в командную строку нажатием клавиш CTRL+ENTER. Добавим в командной строке имя файла без расширения, получим

f77.bat myfile

После нажатия клавиши ENTER будет выполена компиляция файла myfile.for. Если она пройдет без ошибок, то в подкаталоге FOBJ будетсоздан файл myfile.obj, а файл листинга myfile.lst будет уничтожен.При наличии ошибок компиляции они будут отражены в файле листинга, аобъектный файл не будет создан. Необходимо устранить ошибки и повторить операцию компиляции.

Для компоновки полученного объектного файла необходимо запустить файл f77l.bat, расположенный в том же подкаталоге USERS. Данныйфайл вызывает компоновщика и имеет следующую структуру, которую дляудобства описания также разместим по строкам:

C:\fortran\bin\link

c:\fortran\users\fobj\%1,

c:\fortran\users\%1,,

c:\fortran\users\fobj\avt.lib+c:\fortran\lib\llibfore.lib;

DELc:\FORTRAN\USERS\%1.MAP

Первая строка вызывает компоновщик link.exe указанием файловогопути к нему. Вторая строка указывает на место размещения объектногофайла с расширением .obj. Третья строка указывает на местоположениерезультирующего EXE-файла, а вторая запятая указывает на то, чтофайл карты распределения памяти с расширением .map формируется в соответствии с установками по умолчанию. В четвертой строке через знакплюс перечисляются подключаемые библиотеки Фортрана и пользовательские, содержащие требуемые подпрограммы. Наконец, пятая строка предусматривает удаление файла карты распределения памяти, который поумолчанию создается в подкаталоге, где расположен файл f77l.bat.

Для вышерассмотренного примера введем в командную строку следующую информацию:

f77l.bat myfile

После нажатия клавиши ENTER на основании файла myfile.obj изподкаталога FOBJ будет создан одноименный EXE-файл и размещен в подкаталоге USERS. При компоновке будут использованы библиотеки avt.libи llibfore.lib, файл myfile.map, созданный в подкаталоге USERS, поокончании компоновки будет уничтожен.

Для запуска программы на выполнение следует выделить файл myfile.exe в подкаталоге USERS и нажать клавишу ENTER.