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

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

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

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

483

параметры компилятора (Compiler);

параметры подсистемы управления проектом (Маке);

параметры компоновщика (Linker);

параметры библиотекаря (Librarian);

имена основных каталогов (Directories);

характеристики основных ресурсов (Resources);

параметры среды (Environments);

команда сохранения настроек и установок для парамет­ ров среды (Save).

9.Window - информация об открытых окнах и способах их расположения.

10.Help - подсистема оперативной помощи по интегрирован­ ной среде и элементам языка программирования.

9.3.4. Настройка интегрированной среды Borland C++ 3.1

Так же как и для интегрированной среды Turbo С 2.0, укажем минимально необходимые действия по настройке среды Borland C++ 3.1, достаточные для создания, отладки, компоновки и вы­ полнения программ на языке Си. В качестве примера программ­ ной системы используем неоднократно рассмотренную нами программу сортировки на основе бинарного дерева.

Задание полных имен основных и рабочего каталогов. Задание полных имен основных и рабочего каталогов произво­ дится в окне, которое открывается по команде Options|Directories (рис. 9.7).

Вподокнах устанавливаются, например, такие имена:

1.Include Directories: p:\borlandc\include

2.Library Directories: p:\borlandc\lib

3.Output Directories: d:\tc20\work\bcw

31

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

. . Directories

Include Directories

|р:\borlandc\include]

Library Directories______________________________________

pAbotlandcMib

 

| [±|

flutpul Directory________________________________________

d:\tc20\work\bcw

 

| [±|

^

ок

^^Cancel

?Help

Рис. 9.7. Окно установки полных имен основных и рабочего каталогов

В рабочем каталоге (Output Directory) размещаются объект­ ные и исполняемые модули создаваемой программной системы.

Примечания:

1) Система программирования Borland C++ 3.1 в этом при­ мере была установлена на диске р: в каталоге borlandc;

2) Рабочий каталог "\tc20\work\bcw" был предварительно создан на диске d-..

Выбор стандарта языка Си. Интегрированная среда языка Borland C++- 3.1 позволяет выбрать один из четырех вариантов языков Си и Си++:

Borland С+-+;

Ansi - устанавливается соответствие стандарту ANSI;

Unix - устанавливается соответствие компиляторам, функ­ ционирующим в UNIX System V;

K&R - устанавливается соответствие описанию языка Си, приведенному в [1].

Выбор варианта стандарта производится по команде Options|CompiIer|Source.

На рис. 9.8 выбран вариант языка, соответствующий стан­ дарту ANSI. Для этого необходимо "щелкнуть" левой кнопкой мыши в зоне ромба слева от слова "Ansi".

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

485

 

 

Source Options

 

Key Words

 

Source Options______

 

О Borland C++

 

П Nested Comments

 

ф

j^nsi!

 

 

 

О Uni*v

 

identifier Length[32

| [^±J

О

Kernighan and Rjtchie

 

 

ОК

^^Cancel

7Help

P H C . 9.8. Окно выбора стандарта языка Си

Установка параметров подсистемы Маке. Подсистема управления проектом (подсистема Маке) позволяет автомати­ чески следить за тем, чтобы исполняемая программа была по­ строена из исходных модулей последних версий. На рис. 9.9 по­ казано окно установки параметров подсистемы Маке, которое отображается при выполнении команды Options|Make.

Параметры подсистемы Маке позволяют определить:

тип ошибок, при появлении которых прекращается по­ строение исполняемого модуля (группа параметров Break Make On - прервать процесс построения). На рис. 9.9 ус­ тановлен режим прерывания процесса построения про­ граммной системы по первой обнаруженной ошибке (Errors);

действия, которые необходимо выполнить после компиля­ ции (группа параметров After Compiling - действия после завершения компиляции). На рис. 9.9 установлен режим запуска компоновщика (Run Linker);

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

486

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

Маке „

Break Make On_________

<С> Warning»

<$> |..ог»;

ОFatal errors

ОAll sources processed

Cancel

After Compiling_________

О

Stop

<$>

Run linker

О

Run librarian

0 Check auto-dependencies

Рис. 9 .9 . О к н о у с т а н о в к и п а р а м е т р о в п о д с и с т е м ы Make

Создание проекта. Определение (создание нового) проекта производится в окне, появляющемся по команде Project|Open project (рис. 9.10).

Ц

:*

Open Project File • -

 

File Name

tc20Vwork\bcw\tree ptj HI

 

Path: d:\tc20taork\bcw

 

Files

Directories

[ 1

|а ]

 

1-Н

 

[с-1

 

Id-1

 

|е ]

 

1+1

I+ J_________

; C ancel

Рис. 9.10. Окно определения проекта

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

487

С помощью подокна Directories (каталоги) производится вы­ бор рабочего каталога, а в поле File Name (имя файла) вводится имя проекта, например tree.prj. В переменной Path (путь) ото­ бражается полное имя рабочего каталога, где хранится файл проекта. По завершении определения проекта следует нажать кнопку ОК.

Если проект создается заново, то необходимо указать исход­ ные файлы, из которых строится исполняемый модуль. Указа­ ние производится в окне формирования проекта (рис. 9.11), которое вызывается по команде Project|Add item.

Add То Project List

File Name

Q :Add

Path: d:\tc20\work\bcw

File*

add_node.c new_node.c print,c tree.c

Directories

1-1

+

IDgne

|-а-1

 

 

1-Ь]

 

 

l-c-1

 

 

l-d-1

 

 

I-e-I

 

 

l-M

ш ________ 4

Рис. 9.11. Окно формирования проекта

Вполе File Name (имя файла) необходимо установить рас­ ширение файла *.с и нажать мышью кнопку +Add для добавле­ ния этого расширения в список возможных расширений имен файлов.

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

488

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

но) и нажать мышью кнопку +Add. Эту операцию следует про­ делать со всеми файлами, которые необходимо включить в про­ ект. Для завершения формирования проекта следует нажать мышью кнопку Done.

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

I B

 

Project: tree

□ □

|| File Nam e

Lines

Code

Data

Location

1 tree .с

31

94

17

add_node.c

40

91

0

n c w n o d e .c

26

54

0

piirtt.c

27

72

3

Рис. 9.12. Окно проекта

Задание аргументов командной строки. Так как имя фай­ ла, содержащего слова для сортировки, программа tree.exe берет из командной строки, то перед выполнением программы необ­ ходимо задать имя файла в окне, появляющемся по команде RunjArguments (рис. 9.13). В этом случае задано имя файла - Г

 

Program Arguments

Arguments

 

и

if^l

 

Cancel

Рис. 9.13. Задание аргументов командной строки

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

489

Сохранение параметров настройки интегрированной среды. Для того чтобы параметры интегрированной среды, ус­ тановленные при ее настройке, сохранились и были доступны в следующем сеансе, необходимо выполнить команду Options|Save.

Сборка и выполнение программы. Перед построением ис­ полняемого модуля программы сортировки на основе бинарно­ го дерева необходимо исправить синтаксические ошибки в функциях программы: tree.c, addnode.c, newnode.c и print.c. Компиляция исходных модулей производится по команде Compile|Compile.

Сборка (компоновка) исполняемого модуля программы сор­ тировки выполняется по команде Compile|Make. При этом ис­ пользуется файл проекта tree.prj. На рис. 9.14 приводится окно построения программы. Сообщение "Success" в строке Status информирует о том, что исполняемый модуль построен без ошибок.

Compile Status

Status: Success

Files__________________ _

Main file: print.c

Compiling: editoi->print.c

Statistics_____________ Total______________ Fiie

Lines:

419

419

Warnings:

0

0

Errors:

0

0

^ O K

Рис. 9.14. Окно построения программы

490

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

Для выполнения программы сортировки необходимо выпол­ нить команду Run|Run. В окне выполнения (окне результатов) можно увидеть отсортированный список слов (рис. 9.15).

(Inactive D:\TC2Q\WORK\BCW\TREE.EXE)

Д

array

case comma name size string type union

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

По завершении просмотра окно результатов следует закрыть (кнопка в левом верхнем углу окна).

Работа в интегрированной среде в последующих сеансах. В последующих сеансах работы в интегрированной среде с уже существующей программой перед построением исполняемого модуля программы необходимо выбрать существующий проект для этой программы. Выбор проекта производится по команде Project|Open project. После выбора проекта можно произвести повторное построение исполняемого модуля, если д исходные тексты программных модулей были внесены изменения.

Информацию об открытых окнах и их расположении на эк­ ране можно получить по команде Window. Работа с окнами проводится традиционными для MS Windows приемами.

ПРАКТИКУМ ПО ПРОГРАММИРОВАНИЮ НА ЯЗЫКЕ Си

Глава 10 ЗАДАЧИ ПО ПРОГРАММИРОВАНИЮ

10.1. О зн аком и тельн ая работа

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

Написать программу, оценивающую значение машинного нуля относительно заданного вещественного числа. Выполнить программу нужно для разных представлений вещественных чи­ сел (float, double, long double) и оформить результаты в виде приведенной ниже таблицы. В качестве основы для построения предлагаемой программы можно использовать приведенную в главе 2 программу для оценки машинного нуля относительно числа 1.0. Усовершенствованный вариант той же программы (но уже позволяющий выполнять оценки относительно разных зна­ чений, вводимых пользователем) имеет следующий вид:

#define REAL float #define type(x) t(x) #define t(z) #z #define Kmax 10000 #include <stdio.h> void main()

{

REAL e,el,s;

int k = 0; /* Количество итераций */ printf("\n Представление вещественных чисел:" type (REAL) );

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