Н. И. Лобачевского Факультет Вычислительной Математики и Кибернетики Кафедра иисгео Язык программирования Си Курс лекций

Вид материалаКурс лекций

Содержание


Пользование компилятором
Внутренняя структура программы на языке Си для IBM PC (альтернативные модели распределения памяти)
Таблица 1 Альтернативные модели распределения памяти
Интегрированная среда Borland C 2.1 Основные компоненты интегрированной среды Borland C
Подобный материал:
1   2   3   4   5   6   7   8   9   ...   29
^

Пользование компилятором


Компилятор представляет собой системную программу, которая преобразует некоторый «язык высокого уровня» в язык компьютера  язык ассемблера или машинный язык. Интерпретатору Бейсика этого не требуется, поскольку он непосредственно исполняет каждый оператор. Интерпретаторы хороши при написании небольших программ, не требующих многократного исполнения. Компиляторы более удобны для разработки больших программ, которые должны исполняться много раз. Это обусловлено тем, что интерпретация программы осуществляется намного медленнее исполнения на компьютере ранее откомпилированной программы.

По сравнению с интерпретатором при работе с компилятором требуется выполнить несколько дополнительных операций (рис.1).




Рисунок 1

Программа готовится с помощью текстового редактора или программы обработки текста. Она запоминается в исходном файле, который преобразуется компилятором в объектный файл. Затем объектный файл, возможно, вместе с другими объектными файлами, полученными ранее (может быть с помощью других компиляторов), преобразуется в исполняемый файл программой, называемой загрузчиком или редактором связей. Этот файл может быть исполнен непосредственно компьютером.
    1. ^

      Внутренняя структура программы на языке Си для IBM PC (альтернативные модели распределения памяти)


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

Современные компиляторы языка Си обеспечивают реализацию нескольких моделей распределения памяти. Под областью данных в табл.1 подразумевается область динамических данных модели распределения памяти, используемой в программе на языке Си. Размер области статических данных во всех моделях обычно не превышает 64 Кб, аналогично размер области стека также не превышает 64 Кб.

^ Таблица 1 Альтернативные модели распределения памяти

Модель распределения памяти

Максимальный размер области команд, байт

Максимальный размер области данных, байт

Малая модель

64К

64К

Модель больших кодов

До 1М

64К

Модель больших данных

64К

До 1М

Большая модель

До 1М

До 1М

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

Выбор модели зависит от требуемого приложения. Рекомендуется выбирать наименьшую возможную модель, которая удовлетворяет Вашим требованиям, поскольку применение больших моделей влечет за собой увеличение размера области команд и замедление работы программы.
  1. ^

    Интегрированная среда Borland C

2.1 Основные компоненты интегрированной среды Borland C


Для создания ваших программ вы можете использовать любой текстовый редактор ASCII. Затем можно использовать компилятор командной строки (файл TCC.exe) для компиляции и последующего запуска на выполнение программ из командной строки DOS. Все же такой путь может показаться неудобным, и вы можете использовать интегрированную среду разработки Borland C (файл TC.exe).

Интегрированная среда Borland C  это более чем просто быстрый Сикомпилятор. Когда Вы запускаете программу Borland C, то весь комплекс инструментальных средств, необходимых Вам для написания, редактирования, компиляции, компоновки и отладки Ваших программ, оказывается у Вас под рукой. Весь этот комплекс возможностей заключен в Интегрированной Среде Разработки.

Кроме того, среда разработки программ системы Borland C предоставляет следующие дополнительные возможности, которые еще больше упрощают процесс написания программ:
  • Возможность присутствия на экране монитора значительного числа окон, которые можно перемещать по экрану и размеры которых можно изменять;
  • Наличие поддержки мыши;
  • Наличие блоков диалога;
  • Наличие команд отсечения и вклейки (при этом допускается копирование из окна Help (Подсказка) и между окнами редактора);
  • Возможность быстрого перехода к другим программам, например, к программе TASM  Турбо Ассемблеру и обратного возврата;
  • Наличие в редакторе макроязыка.