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

книги / Программирование на языке Си

..pdf
Скачиваний:
15
Добавлен:
12.11.2023
Размер:
17.16 Mб
Скачать

Глава 9. Подготовка и выполнение программ

463

%mak.e

new_node

 

 

сс

new_node.o

 

ar

-rv

' libtree.a

 

г - new_node.о

 

 

ranlib

libtree.a

-ltree

 

cc

tree

tree.c

 

Строка, следующая за командой вызова архиватора аг (г - new_node.o), - это сообщение архиватора о замене объектного модуля newnode.o в библиотеке libtree.a.

9.2. С борка и вы полнение програм м в

интегрированной среде T urbo С 2.0

9.2.1. Состав системы программирования Turbo С 2.0

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

Интегрированная среда Turbo С 2.0 является удобным сред­ ством для разработки программ на языке Си. Эта среда, как и другие интегрированные среды, функционирующие в операци­ онной системе MS-DOS, предназначена для работы в текстовом режиме дисплея. Работа среды базируется на технике меню и окон, причем для каждого выделенного пункта меню можно по­ лучить контекстно-зависимую подсказку.

В системе программирования Turbo С 2.0 компоненты обыч­ но размещаются в следующих каталогах:

LIB - содержит стандартную библиотеку объектных моду­ лей языка Си, библиотеки объектных модулей математиче­ ских функций, функций графики и др.;

INCLUDE - заголовочные файлы системы программирова­ ния Си;

464

Программирование на языке Си

EXAMPLES - содержит исходные тексты функций (под­ каталог SOURCE), в основном математических, и про­ граммы (подкаталог TEST) для тестирования функций из подкаталога SOURCE;

ОСНОВНОЙ КАТАЛОГ (в который была установлена сис­ тема программирования Turbo С) - содержит следующие программы и файлы:

ТС.ЕХЕ - исполняемая программа интегрированной среды;

ТСС.EXE - компилятор Lattice С Compiler для работы из командной строки; СРР.ЕХЕ - препроцессор языка Си;

THELP.COM - резидентный справочник по интегриро­ ванной системе Turbo С 2.0 и языку Си. Справочник за­ пускается командой thelp.com для работы в фоновом режиме, т.е. после его запуска на дисплей не выводится никакой информации. Переход к работе со справочни­ ком производится по нажатию клавиши 5 на цифровой клавиатуре и ведется в отдельном окне. Выход из спра­ вочника производится по клавише <Esc>.

Для нормального функционирования интегрированной среды Turbo С 2.0 достаточно IBM PC/XT с 640 Кбайт оперативной памяти. Работоспособный вариант среды Turbo С 2.0 занимает на жестком диске менее 1 Мбайта.

Переход в интегрированную среду Turbo С 2.0 осуществля­ ется по команде tc.exe (или просто tc).

9.2.2. Экран интегрированной среды Turbo С 2.0

При выполнении команды вызова интегрированной среды на экране дисплея появляется окно, показанное на рис. 9.3.

Основными структурными компонентами экрана интегриро­ ванной среды являются:

1 - строка меню, расположенная в верхней части экрана и содержащая основное меню среды Turbo С 2.0;

2 - окно редактирования (Edit) исходного текста;

Глава 9. Подготовка и выполнение программ

465

3 - строка заголовка, в которой отображаются координаты курсора: номер строки, номер позиции в строке и имя редакти­ руемого файла (курсор на экране изображается мигающим сим­ волом "подчеркивание");

4 - окно сообщений (Message), в которое помещаются тексты сообщений об ошибках, выявленных при трансляции исходных текстов или построении исполняемой программы;

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

~ л я ~ 3d i t

iflun

Compile

jjfroject

O ptions

[debug

Lflreak/watch

 

 

 

E d it

_

_

__ __

 

 

 

Insert

Indent Tab

Fill Unindent

D:NONflME.C

ttessage

P i-H elo F5“ Zoon F6-Sw itch F 7 -Ira c e FB -Steo F9-Hake Fl0-ltenu

-4 '5

Рис. 9.3. Структура экрана интегрированной среды Turbo С 2.0

Функциональные клавиши среды Turbo С 2.0:

F1 - контекстно-зависимая подсказка (выводится справ­ ка о функции команды основного меню или вспомо­ гательного меню, которая в данный момент выбрана (подсвечена цветовым маркером); при повторном нажатии клавиши <F1> выводится окно Главной по­ мощи: команды меню, "горячие" клавиши, команды управления редактором текстов, процедура установ­ ки Turbo С, справки по синтаксису языка Си;

F5 - расширение (распахивание) выбранного (активного) окна на всю доступную область экрана, располо-

30“3124

466

Программирование на языке Си

женную между строкой меню (1) и строкой под­ сказки (5);

F6 - осуществляет переключение между окнами "Редактирование" (Edit) и "Сообщения" (Message);

F9 - скомпилировать и построить исполняемую про­ грамму;

F10 - переход в главное меню; выбранный пункт главного меню выделяется цветовым маркером; перемещение по главному меню осуществляется с помощью кла­ виш со стрелками.

9.2.3. Система меню среды Turbo С 2.0

Строка меню (1) содержит основную группу команд. Приве­ дем описание этих команд и команд, содержащихся в меню нижнего уровня. Поясним те из них, которые необходимы для проведения минимальных действий по созданию и отладке про­ стейших программ. При выборе пункта меню и нажатии на кла­ вишу <Enter> может появиться в отдельном окне так называе­ мое "ниспадающее" меню нижнего уровня, каждый пункт кото­ рого может либо порождать, в свою очередь, меню следующего уровня, либо вызывать определенные действия (трансляция, ис­ полнение программы и т.д.), либо устанавливать (определять) некоторый параметр среды, например имя ехе-файла, путь к ка­ талогу с заголовочными файлами и т.п. Для ссылки в нашем описании на пункт главного меню будем использовать название этого пункта. Для ссылки на пункты меню нижних уровней применим следующую схему: укажем последовательно назва­ ния тех пунктов в системе меню, через которые необходимо пройти, для того чтобы достичь обозначаемый пункт. В качест­ ве разделителей имен пунктов меню будем использовать символ '|' (вертикальная черта). Например, для ссылки на пункт меню Change directory (сменить рабочий каталог), который входит в подменю File главного меню, будем пользоваться записью File|Change directory. Напомним, что для перехода в главное меню используется функциональная клавиша <F10>.

Глава 9. Подготовка и выполнение программ

467

Начальную информацию о командах и режимах интегриро­ ванной среды можно получить по функциональной клавише <F1>, ну и, конечно же, в документации по системе программи­ рования Turbo С 2.0.

Ниже приводятся перечень основных команд интегрирован­ ной среды и краткое описание их функций.

1.File - ссылается на группу команд, позволяющих:

загрузить с диска файл для редактирования (Load);

создать новый текстовый файл (New);

сохранить редактируемый файл под новым именем (Write to);

выбрать текущий каталог для данного сеанса работы (Directory);

сменить рабочий каталог (Change directory);

осуществить временный выход в MS-DOS (Dos Shell - возврат в среду по команде exit);

выход из среды Turbo С (Exit).

2.Edit - редактировать файл. Ниже будут приведены основ­ ные команды редактирования.

3.Run - группа команд, предназначенных для запуска про­ граммы и просмотра результатов работы:

выполнить программу (Run);

выполнить программу заново (Program reset);

выполнять программу по шагам с заходом в функции (Step over) или без захода в функции (Trace into);

перейти к просмотру результатов работы программы (User screen).

4.Compile - команды, связанные с трансляцией и сборкой (компоновкой) программы:

компилировать программу в объектный файл (Compile to OBJ);

вызвать подсистему (Make EXE file) для построения исполняемого файла на основе файла проекта (см. сле­ дующий пункт Project). Если был определен файл про­ екта (файл с расширением 'prj') в меню Project|Project

name, то подсистема Маке использует список модулей

3 0 ’

468

Программирование на языке Си

из этого файла. Иначе используется файл с текстом ос­ новной программы на Си (Primary С file - см. ниже) или файл, находящийся в окне редактирования;

собрать (скомпоновать) исполняемый (с расширением 'ехе') файл независимо от того, устарел исполняемый файл или нет (LINK EXE file);

перекомпилировать все файлы в проекте вне зависимо­ сти от даты и времени создания (Build all);

задать имя программы, которая будет скомпилирована в объектный модуль (Primary С file);

вывести информацию о текущем файле (Get info).

5.Project - определяет имя файла проекта и некоторые ре­ жимы работы подсистемы Маке» Указанная подсистема (она аналогична по назначению команде make системы UNIX) пред­ назначена для слежения за тем, чтобы исполняемая программа была построена из исходных модулей последних версий. Под­ система make позволяет:

задать файл проекта (Project name), содержащий имена файлов, которые необходимо скомпилировать или по­ строить. Имя файла проекта переходит к файлу с рас­ ширением 'ехе' (исполняемому файлу). В своей прос­ тейшей форме файл проекта содержит просто список имен исходных модулей компонентов программы;

установить условия прерывания процесса построения подсистемой Маке исполняемой программы из объект­ ных модулей (Break make on errors). Поясним возмож­ ности этого пункта. При компиляции и компоновке Программы могут появиться:

О„"Предупреждения" (Warnings) - компилятор выдал предупреждения;

О"Ошибки" (Errors) - компилятор обнаружил ошиб­ ки и выдал сообщения о них;

О"Фатальные ошибки" (Fatal errors) - выявлены ошибки, влияющие на все компоненты исполняемой программы.

Глава 9. Подготовка и выполнение программ

469

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

установить режим автоматическогоя слежения за тем, чтобы исполняемая программа была построена из ис­ ходных модулей последних версий (Auto dependencies On). Если режим установлен (On), то подсистема Маке открывает объектный, модуль и читает информацию в заголовке модуля. Затем проверяются дата и время соз­ дания исходных модулей, из которых создаются объ­ ектные модули. Если эта информация различается, то исходные модули компилируются и исполняемая про­ грамма перестраивается. Если режим не установлен (Off), то такая проверка не производится;

очистить имя проекта и закрыть окно сообщений (Clear Project);

стереть сообщения об ошибках в окне сообщений "Message" (Remove message).

6.Options - команды, устанавливающие: режимы работы для компилятора и компоновщика; параметры среды; каталоги; ар­ гументы исполняемой программы:

• установить параметры: аппаратной конфигурации, режимы отладки, режим оптимизации кода, управления выдачей сообщений (Compiler);

• установить режимы работы компоновщика (Linker) - ука­ зать возможность подстановки перед стандартными биб­ лиотеками собственных библиотек объектных модулей, включить (выключить) режим уведомления о дублирую­ щихся внешних именах в объектных модулях;

• установить параметры среды (Environment) - параметры просмотра сообщений об ошибках, режим сохранения па­ раметров среды, режим создания резервных копий редак­ тируемых файлов. Основные параметры, устанавливаемые

вэтом пункте меню:

Оустановить (выключить) режим просмотра окна сооб­ щений, когда подсвечиваются строки в исходном фай-

470

Программирование на языке Си

ле, на которые ссылается сообщение (Message tracking);

0включить (выключить) режим автоматического сохра­ нения параметров конфигурации среды (Config

autosave);

Овключить (выключить) режим создания резервных ко­ пий редактируемых файлов (Backup source files);

определить полные пути к каталогам системы программи­ рования (Directories), которые содержат: заголовочные файлы, библиотеки, рабочий каталог, каталог, где хранятся компоненты системы программирования Си. Подробно ус­ тановка путей к этим каталогам описывается ниже;

задать параметры командной строки (Arguments). В окне, появившемся при выборе этого пункта меню, указываются параметры, которые передаются исполняемой программе при ее выполнении из среды Turbo С, - аргументы функ­ ции main();

сохранить параметры среды (Save options) в файле на дис­ ке. При установке параметров можно изменять имя файла,

вкотором они сохраняются. При последующей загрузке среды значения ее параметров выбираются именно из это­ го файла;

выбрать и загрузить один из нескольких файлов парамет­ ров среды, созданных по команде Options|Save options.

7.Debug - команды, позволяющие установить ряд парамет­ ров, используемых при отладке программы.

8.Break/Watch - команды, позволяющие вставить, удалить контрольные точки в программе и сформировать выражения, используемые для наблюдения за переменными программы во время ее работы.

9.2.4. Настройка среды Turbo С

Прежде чем начинать работу по вводу текстов функций про­ граммной системы, их отладке и сборке, необходимо настроить параметры среды Turbo С 2.0:

Глава 9. Подготовка и выполнение программ

471

создать и указать в среде рабочий каталог, в котором будут находиться компоненты разрабатываемых программ и го­ товые к выполнению программы;

задать полные имена каталогов (пути), содержащих заго­ ловочные файлы и библиотеки системы программирования Си;

настроить параметры управления проектом.

Создание рабочего каталога. Предположим, что' система программирования Turbo С 2.0 была установлена на диске D: в каталоге ТС20. В этом же каталоге создадим средствами MSDOS рабочий каталог и назовем его WORK.

Теперь простейший вход в интегрированную среду Turbo С 2.0. - это выполнение команды (в MS-DOS):

> t c . e x e

После этой команды начнется диалог с интегрированной средой и перед вами появится экран, изображенный на рис. 9.3.

Установка в среде Turbo С 2.0 полных имен каталогов. Перед началом работы необходимо задать полные имена вспо­ могательных и рабочего каталогов. Для этого необходимо пе­ рейти в меню Options|Directories (рис. 9.4) и, выбирая после­ довательно следующие пункты меню

Include directories

Library directories

Output directory

Turbo C directory

ввести соответственно следующие имена каталогов:

D:\TC20\INCLUDE

D :\T C 2 0 \L IB

D:\TC20\WORK

D :\T C 20

Здесь Include и Lib - это стандартные для интегрированной среды (для компилятора) имена каталогов, в которых соответст­ венно размещены включаемые (заголовочные) текстовые файлы и библиотечные модули:

472

 

 

 

 

Программирование на языке Си

File

Edit

Run

1

Compile

Project

Options Debug Break/watch

___Line

1

Col

Insert

Indent Tab

ONfinE.С

Compiler

Linker

Environment

|гЩ 9Я Я !П 9В Н Н

Include directories: . D:\TC20\INCLUDE

Library directories: D:\TC20SLIB

Output directory:_____D:\TC20\WORK___

Turbo C directory: D:\TC20

Pick file name:

Current pick file :

Рис. 9.4. Окно установки имен каталогов

При выборе каждого из указанных пунктов меню на экране появляется вспомогательное окно с заголовком, совпадающим с пунктом меню (например, Include directories), в котором необ­ ходимо набрать полное имя соответствующего каталога. Набор имени завершается нажатием на клавишу <Enter>. После этого имя каталога отображается в строке пункта меню (например, как на рис. 9.4 "Include directories: D:\TC20\INCLUDE"). В итоге после ввода всех имен меню Options|Directories будет выгля­ деть так, как показано на рис. 9.4.

"Каталог для результатов" (Output directory) определяет то место, где запоминаются объектные модули (файлы с расшире­ нием "obj") и исполняемые модули. В нашем примере это рабо­ чий каталог WORK в каталоге ТС20. Подсистема управления проектом именно здесь ищет объектные модули во время по­ строения исполняемой программы.

Настройка параметров управления проектом. В совре­ менных интегрированных средах в той или иной степени реали­ зованы идеи, на основе которых работает команда make в системе UNIX. Используя информацию (о дате и времени соз­ дания), хранящуюся в объектных и исполняемых модулях, под­ системы управления проектами интегрированных сред позво­ ляют перекомпилировать и перестроить устаревшие объекты.

Подсистема управления проектом в интегрированной систе­ ме Turbo С 2.0 может действовать на основе простейшей ин­

Соседние файлы в папке книги