Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Компиляторы и интерпретаторы

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

Про­грамма, написанная на любом языке программирования, может как компилироваться, так и интерпретироваться, однако многие языки изначально созданы для выполнения премущественно одним из этих способов. Например, Java рассчитан в основном на интерпретацию программы, а язык С (С++) —на компиляцию.

Кратко различия компиляторов и интерпретаторов можно пояснить следующим образом.

В простейшем случае интерпретатор читает исходный текст программы по одной строке за раз, выполняет эту строку и только после этого переходит к следующей. Так работали ранние версии языка Basic. В языках типа Java исходный текст программы сначала конвертируется в промежуточную форму, а затем интерпретируется.

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

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

С (С++) разрабатывался пре­имущественно для компиляции. Поэтому при разработке программ на С большинство программистов используют именно компилятор, а не интерпретатор.

Компиляция и выполнение программы на языке С (С++)

Программа на языке С++ — это текст. С помощью произвольного текстового редактора программист записывает инструкцию, в соответст­вии с которой компьютер будет работать, выполняя данную программу.

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

Таким образом, создание выполнимой программы на языке С (С++) состоит из следующих трех шагов:

q разработка,

q компиляция,

q компоновка программы с библиотечными функциями.

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

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

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

Достоинства языка С++.


Дата добавления: 2015-08-13; просмотров: 246 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Начальные сведения о языке| Проблема раздельной компиляции

mybiblioteka.su - 2015-2024 год. (0.006 сек.)