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

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

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

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

473

формации о программной системе - на основе просто списка имен исходных файлов, содержащих компоненты программной системы.

F i l e

E d i t

Run

C om pile

[Щ К 531

O p tio n s

Debug

B re a k /u a tc h

L in e 1 '

C o l 1

I n s e r t

EUZiBL

 

DrTRFE.PRJ

 

 

 

 

 

 

 

 

 

 

 

P r o je c t

Name

 

 

 

 

HE\IC2U\U0RK\1REE.PRJ

 

 

 

 

 

Renoиe

m e ssag es

 

 

F l- H e lo F 5 -Z oon F 6 - S w itc h F ? -T ra c e F B -S teo F 9 -h ak e F18-H enu*1

9.5. Окно определения проекта

Для настройки подсистемы управления проектом необходи­ мо выполнить следующие действия:

1. Задать имя файла проекта в пункте меню Project|Project name (рис. 9.5). Во вспомогательном окне "Project Name" необ­ ходимо ввести имя файла проекта (например, tree.prj) програм­ мы сортировки на основе бинарного дерева, описанной в гла­ ве 8. Точно так же, как и в случае определения имен каталогов (см. §9.2.3), введенное имя отображается в строке пункта меню:

Project паше TREE.PRJ

Расширение имени файла проекта (prj) задается для фай­ лов проектов по умолчанию.

2. В этом же меню (Project) выбрать пункт меню "Auto dependencies" и нажать клавишу <Enter>. Индикатор режима, заданный в этой же строке, изменит свое значение. Значений может быть два: On - включено и Off - выключено. В первом случае проверяется соответствие объектных модулей и испол-

474

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

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

3. Создать собственно файл проекта с помощью встроенного редактора:

войти в режим редактирования (F10|Edit);

набрать в окне редактирования, например, такой текст:

D :\ТС2 О\WORK\TREE.С

D :\TC20\WORK\ADD_NODE.С D :\TC20\WORK\NEW_NODE.С D :\TC20\WORK\PRINT.С

запомнить файл проекта под именем tree.prj, для чего вы­ полнить команду:

F10|File|Write to

и в появившемся окне ввести:

D :\ТС2 О\WORK\TREE.PRJ

ИЛИ ТОЛЬКО

TREE.PRJ

если уже ранее был задан рабочий каталог (в меню Options|Directories|Output directory).

Сборка и выполнение программы. После настройки среды Turbo С можно приступить к вводу текста и отладке головной программы main() и вспомогательных функций. Для этого не­ обходимо перейти в режим редактирования (F10|Edit). В первой строке окна редактирования (она постоянно находится на своем месте) отображаются: номер строки, номер позиции в строке, режимы редактирования и имя файла. При открытии нового файла ему присваивается имя NONAME.C. В процессе редакти­ рования можно пользоваться командами редактирования, спи­ сок которых выдается по команде HELP (функциональная клавиша <F1>).

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

475

Команды редактирования объединены в следующие группы, из которых приведем основные (частично эти команды совпа­

дают с командами текстовых редакторов UNIX):

 

1. Команды управления курсором:

 

 

На символ влево

Ctrl-S ИЛИ < г-

На символ вправо

Ctrl-D или

->

На слово влево

Ctrl-A

 

На слово вправо

Ctrl-F

 

На строку вверх

Ctrl-E или

t

На строку вниз

Ctrl-Х или

i

Перемещение текста на строку вверх

Ctrl-W

 

Перемещение текста на строку вниз

Ctrl-Z

 

Перемещение текста на страницу вверх

Ctrl-R или PgUp

Перемещение текста на страницу вниз

Ctrl-C или PgDn

2. Команды вставки и удаления:

 

 

Включить (выключить) режим вставки

Ctrl-V или Ins

Вставить строку

Ctrl-N

 

Удалить строку

Ctrl-Y

 

Удалить часть строки от курсора до

Ctrl-Q Y

 

конца строки

 

 

Удалить символ слева от курсора

Ctrl-H или Backs

Удалить символ

Ctrl-G или Del

Удалить слово справа

Ctrl-T

 

3. Команды обработки блоков текста:

 

 

Пометить начало блока

Ctrl-K В

 

Пометить конец блока

Ctrl-K К

 

Пометить одно слово

Ctrl-K C

 

Переместить блок

Ctrl-K V

 

Удалить блок

Ctrl-K Y

 

Читать блок с диска

Ctrl-K R

 

476

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

 

Записать блок на диск

Ctrl-K W

 

Снять выделение блока

Ctrl-K Н

 

Печатать блок

Ctrl-K Р

 

4. Дополнительные команды:

 

 

Перейти в главное меню

Ctrl-K D или F10

 

Сохранить редактируемый файл и про­

F2

 

должать его редактировать

 

 

Создать новый файл

F3

 

Взять для редактирования предыдущий

Alt-F3

 

файл

 

 

Найти последовательность символов

Ctrl-Q F

 

Найти и заменить последовательность

Ctrl-Q A

 

символов

 

 

Прекратить операцию

Esc

 

Примечания.

 

1.Запись "Ctrl-A" означает одновременное кратковре­ менное нажатие клавиш <Ctrl> и <А>, а запись "Ctrl-K. В" - кратковременное одновременное нажатие клавиш <Ctrl> и <К>, а затем - нажатие одной клавиши <В>.

2.Для получения справки по синтаксису языка Си (это может понадобиться при вводе исходных текстов программ) необходимо поставить маркер на строку, содержащую наз­ вание объекта языка Си, и нажать клавиши "Ctrl-Fl". На­ пример, подведя курсор к служебному слову int и нажав "Ctrl-Fl", получим достаточно полную информацию о типе int и близких к нему целых типах.

Введя текст функции, можно приступить к ее отладке. Для этого служит команда Compile|Compile to obj. При выполнении компиляции появляется окно отладки, содержащее информацию о компилируемом модуле: имя файла, количество откомпилиро­ ванных строк, число обнаруженных предупреждений и ошибок. В нижней строке окна компиляции фиксируется результат ком­ пиляции: Warnings (предупреждения), Errors (ошибки), Success (успех), а также сообщение "Press any key" (нажмите любую

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

477

клавишу). При нажатии произвольной клавиши окно Компиля­ ции закрывается. Сообщения об ошибках (Errors) и предупреж­ дения (Warnings) отображаются в окне сообщений. После завершения трансляции окно сообщений находится в активном режиме, и клавишами со стрелками "вверх" и "вниз" можно просматривать сообщения об ошибках и предупреждения. Син­ хронно с просматриваемыми сообщениями об ошибках будет перемещаться подсветка строки в окне редактирования. Нажав клавишу <F1>, можно получить краткую справку о сути ошибки или предупреждения.

Для выхода из режима просмотра сообщений об ошибках и перехода в режим редактирования необходимо выполнить ко­ манду F10|Edit (редактировать) в главном меню либо просто нажать клавишу <Enter>, "находясь" на том сообщении, кото­ рое вас заинтересовало. Если ошибка синтаксическая, то авто­ матически произойдет переход к той строке текста программы, в которой компилятор ошибку распознал. Не возвращаясь в ок­ но сообщений, можно перейти к позиции следующей ошибки с помощью клавиш AU-F8 (подсказка с указанием назначения клавиши, как обычно, в нижней строке экрана). Исправив эшибку, необходимо снова откомпилировать исходный текст функции. При наличии нескольких ошибок необходимо аналишровать первые 2-3 ошибки; остальные могут быть следствием нескольких первых ошибок. Процесс отладки продолжается до появления в окне отладки (в последней строке) сообщения 'Success: Press any key".

Исправив синтаксические ошибки поочередно во всех функдиях, можно выполнить команду Compile|Make EXE file для построения исполняемой программы в соответствии с файлом проекта. Если в окне сборки (имя окна "Linking") появится со­ общение Success (успех), то можно вызвать построенную собранную) программу для выполнения.

Программа сортировки на основе бинарного дерева получает пз командной строки имя файла, в котором содержатся слова пля сортировки. Готовую к выполнению программу сортировки ложно выполнить вне среды Turbo С, набрав в командной стро­

478

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

ке операционной системы после подсказки MS-DOS (например, '>') имя исполняемой программы и ее аргументы:

> tre e f

где f - имя файла с данными для сортировки.

Программу сортировки на основе бинарного дерева можно вызвать для выполнения и из среды Turbo С. Для передачи про­ грамме имени файла, содержащего слова для сортировки, необ­ ходимо указать его в качестве аргумента вызываемой программы в пункте меню Options|Arguments. Затем можно выполнить программу при помощи команды Run|Run. Резуль­ таты работы программы отображаются на так называемом экра­ не пользователя. Для просмотра экрана пользователя необходимо выполнись команду Run|User screen или исполь­ зовать сочетание клавиш Alt-F5. Для возврата обратно в среду необходимо нажать произвольную клавишу.

Поскольку в среде Turbo С для рассматриваемой программы сортировки на основе бинарного дерева был определен файл проекта (tree.prj), то при попытке построить по команде Compile|Make EXE file программу сортировки еще раз (не вно­ ся в исходные тексты функций никаких изменений) будет выда­ но следующее сообщение в окне "Построение" (Making):

D :\TC20\WORK\TREE.EXE

i s up to d a te

(программа tree.exe не устарела),

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

Заметим, что выполнение команды Compile|Build all приво­ дит к полной перестройке всех компонентов программы незави­ симо от их соответствия или несоответствия последним версиям исходных модулей.

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

479

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

в интегрированной среде B orland C++ 3.1

Технические характеристики современных персональных компьютеров улучшаются с каждым годом. В соответствии с ростом возможностей развиваются и операционные системы: MS-DOS, MS Windows З.хх, MS Windows-95 и т.д. Несмотря на то, что в каждой среде (MS-DOS или Windows) работает кон­ кретная (и не одна) система программирования, существует оп­ ределенная преемственность между "младшими" и "старшими" версиями любой системы программирования, так как лучшие решения "младших" версий закрепляются и повторяются в "старших" версиях. Поэтому опыт, приобретенный при работе в одной интегрированной системе, помогает разобраться в работе другой системы.

Круг задач, затронутых в данном пособии, и приведенные примеры могут быть выполнены в различных операционных системах. Как можно подготовить исполняемые модули про­ грамм в UNIX и MS-DOS, было показано в предыдущих разде­ лах главы 9. Однако нельзя не упомянуть какую-либо систему программирования для MS Windows.

Рассмотрим одну из первых систем программирования Си для MS Windows, а именно: систему программирования Borland C++3.1 фирмы Borland International, Inc. Эта система програм­ мирования вполне может функционировать на IBM РС/386 с тактовой частотой 40 МГц и объемом оперативной памяти 4 Мбайта. На жестком диске стандартный вариант системы зани­ мает около 35 Мбайт.

9.3.1. Состав системы программирования Borland C++ 3.1

В системе программирования Borland C++ 3.1 компоненты обычно размещаются в следующих каталогах:

1. BGI - система поддержки графического интерфейса фир­ мы Borland.

480

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

2.BIN - основной каталог:

динамически подключаемые библиотеки (*.dll);

файлы конфигурации для компилятора,, подсистемы Help и т.п.;

автономный препроцессор и компилятор для запуска из командной строки;

исполняемые модули для запуска интегрированной сре­ ды в MS-DOS и MS Windows;

файлы инициализации, содержащие параметры на­ стройки для интегрированной среды и ее компонентов;

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

3.CRTL. - ряд каталогов с исходными текстами функций стандартной библиотеки языков Си и Си++ (C/C++ Runtime Lib­ rary Version 5.0).

4.DOC - файлы документации по интегрированной среде и

еекомпонентам.

5.EXAMPLES - исходные тексты и файлы проектов для не­ скольких несложных программных систем.

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

1Л. LIB - библиотеки объектных модулей.

8. OWL - подсистема для разработки интерфейсов приклад­ ных программ, предназначенных для работы в MS Windows (Object-Windows Library).

Для запуска варианта интегрированной среды для MS Windows необходимо выполнить программу bcw.exe.

9.3.2. Экран интегрированной среды

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

Основные структурные элементы окна: 1 - главное меню; •

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

481

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

File Edit Search Bun Compile Project Browse Options W indow

belp

•?

e г «в*

ttinclude <stdio.h>

struct node C

char *str;

struct node «left; struct node «right;

void print (struct node *ptr)

C

int i ■ 0;

♦ П

' "

Message

♦i i

n k W -T T •i+'-'-IT"-'’v4rir:.™

iS£a*taH -

I E

T

Рис. 9.6. Основное окно интегрированной среды Borland C++ 3.1

Работа с этими окнами ведется так же, как и с любым другим окном в среде MS Windows.

9.3.3. Система меню интегрированной среды

Основные команды интегрированной среды сосредоточены в главном меню. Перечислим функции основных команд главного меню:

1.File

создание нового исходного текста (New);

загрузка существующего текста (Open);

сохранение исходного текста после редактирования

(Save, Save as);

3 1 -Э 1 2 4

482

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

печать исходного текста (Print);

выход из интегрированной среды (Exit).

2.Edit

отмена сделанных модификаций (Undo);

"вырезание" помеченного блока (Cut);

копирование (Сору) помеченного блока в буфер обмена (Clipboard);

вставка (Paste) помеченного блока из буфера обмена в текст, начиная с текущей позиции курсора.

3.Search

поиск и замена строк в исходном тексте;

переход к строке текста с заданным номером.

4.Run

выполнение исполняемой программы (Run);

аргументы исполняемой программы (Arguments);

отладчик (Debugger);

аргументы отладчика (Debugger arguments).

5.Compile

компиляция (Compile);

построение исполняемой программы на основе файла проектов (Маке);

компоновка (Link);

построение исполняемой программы без учета соответ­ ствия объектных и исполняемых модулей последним версиям исходных модулей (Build all).

6.Project

открыть (или создать новый) проект (Open project);

закрыть проект (Close project);

добавить имя компонента в проект (Add item);

удалить имя компонента из проекта (Delete item).

7.Browse - группа команд, позволяющих просмотреть ие­ рархию классов (для C++), функции и переменные программной системы.

8.Options - задает режимы работы компонентов интегриро­ ванной среды и параметры ее работы:

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