|
Программист должен понимать, что язык программирования определяет характер программы, а не способ ее выполнения компьютером. Есть два способа выполнения программы компьютером: она может быть подвергнута компиляции или интерпретации.
Программа, написанная на любом языке программирования, может как компилироваться, так и интерпретироваться, однако многие языки изначально созданы для выполнения премущественно одним из этих способов. Например, Java рассчитан в основном на интерпретацию программы, а язык С (С++) —на компиляцию.
Кратко различия компиляторов и интерпретаторов можно пояснить следующим образом.
В простейшем случае интерпретатор читает исходный текст программы по одной строке за раз, выполняет эту строку и только после этого переходит к следующей. Так работали ранние версии языка Basic. В языках типа Java исходный текст программы сначала конвертируется в промежуточную форму, а затем интерпретируется.
Компилятор читает сразу всю программу и конвертирует ее в объектный код, то есть транслирует исходный текст программы в форму, более пригодную для непосредственного выполнения компьютером. Объектный код также называют двоичным или машинным кодом. Когда программа скомпилирована, в ее коде уже нет отдельных строк исходного кода.
В общем случае интерпретируемая программа выполняется медленнее, чем скомпилированная. Необходимо помнить, что компилятор преобразует исходный текст программы в объектный код, который выполняется компьютером непосредственно. Значит, потеря времени на компиляцию происходит лишь единожды, а в случае интерпретации — каждый раз при очередной компиляции фрагмента программы в процессе ее выполнения.
С (С++) разрабатывался преимущественно для компиляции. Поэтому при разработке программ на С большинство программистов используют именно компилятор, а не интерпретатор.
Компиляция и выполнение программы на языке С (С++)
Программа на языке С++ — это текст. С помощью произвольного текстового редактора программист записывает инструкцию, в соответствии с которой компьютер будет работать, выполняя данную программу.
Для того чтобы компьютер мог выполнить программу, написанную иа языке С++, ее нужно перевести на язык машинных инструкций. Эту задачу решает компилятор. Компилятор читает файл с текстом программы, анализирует ее, проверяет на предмет возможных ошибок и, если таковых не обнаружено, создает исполняемый файл, т.е. файл с машинными инструкциями, который можно выполнять.
Таким образом, создание выполнимой программы на языке С (С++) состоит из следующих трех шагов:
q разработка,
q компиляция,
q компоновка программы с библиотечными функциями.
В настоящее время большинство компиляторов поставляется вместе с оболочкой программирования, содержащей редактор текста. Оболочки содержат обычно также автономный компилятор. При наличии автономного компилятора для написания программы можно использовать любой удобный редактор.
В общем случае компилятор C++ можно использовать для компиляции программы, написанной на С. В настоящее время большинство компиляторов могут работать с программами, написанными как на С, так и на C++.. При этом необходимо правильно указывать расширение файла, содержащего текст программы.
Согласно действующему соглашению, файлы программ, написанных на С имеют расширение.С, а написанных на C++ —.СРР. Присвоение расширения.СРР файлу программы, написанной на С, недопустимо, потому как эти языки все же существенно отличаются друг от друга, и компилировать программу на С так, будто это программа на C++, нельзя. Расширение.С указывает транслятору на то, что он должен компилировать программу, написанную именно на С.
Достоинства языка С++.
Дата добавления: 2015-08-13; просмотров: 246 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Начальные сведения о языке | | | Проблема раздельной компиляции |