Чем компилятор отличается от среды программирования

5. Среда программирования

Что такое среда программирования — Введение в программирование

  • редактор с подсветкой синтаксиса конкретного языка программирования. В нем программист пишет текст программы, так называемый программный код;
  • компилятор. Он, как мы уже с вами знаем, транслирует программу, написанную на высокоуровневом языке программирования в машинный язык (машинный код), непосредственно понятный компьютеру. Язык С++ относится к компилируемым языкам, поэтому для обработки текстов его программ служит компилятор, иногда вместо компилятора (либо вместе с ним) используется интерпретатор, для программ, написанных на интерпретируемых языках программирования;
  • отладчик. Служит для отладки программ. Как мы все знаем, ошибки в программах допускают абсолютно все: и новички, и профессионалы — они могут быть синтаксическими (обычно они выявляются еще на стадии компиляции) и логическими. Для тестирования программы и выявления в ней логических ошибок служит отладчик.

Общее описание работы среды программирования

Давайте сейчас подробно рассмотрим процесс разработки программы в среде программирования, от момента начала написания кода программы до получения скомпилированного экзешника (файла с расширением .exe), который уже можно непосредственно запускать вне среды разработки. Как правило, для того, чтобы выполнить программу на С++, надо пройти шесть этапов:

  • Первый этап — редактирование;
  • Второй этап — предварительная(препроцессорная) обработка;
  • Третий этап — компиляция;
  • Четвертый этап — компоновка;
  • Пятый этап — загрузка;
  • Шестой этап — выполнение.

Мы остановимся на системе С++, ориентированной на UNIX, чтобы лучше понять этот процесс. В Windows некоторые из этих этапов будут проходить автоматически без участия программиста. Редактирование. Это первый этап разработки программы в среде программирования и представляет он собой редактирование файла (исходного файла, который в последствии будет содержать код программы). Он выполняется с помощью редакторапрограмм, который напоминает нам обычный текстовый редактор, такой как блокнот, word и т.д. Программист набирает в этом редакторе свою программу на С++ и, если это необходимо, вносит в нее различные изменения или исправления. Одним словом, работает с кодом программы как с обычным текстом. Имена файлов программ на С++ часто оканчиваются расширением .с или .срр. (это вы сами сможете пронаблюдать, когда загляните в папку с проектом). Предварительная (препроцессорная) обработка. На этом этапе программист дает команду компилировать программу. Но прежде чем компилятор приступит к компиляции вашей программы, производится предварительная обработка программы. Что это значит? Любая программа в С++ подчиняется специальным командам, именуемым директивами препроцессора (обычно начинаются они со специального символа «#») , которые указывают, что в программе перед ее компиляцией нужно выполнить определенные преобразования. Обычно эти преобразования состоят во включении других текстовых файлов в файл, подлежащий компиляции, и выполнении различных текстовых замен. Создается файл с расширением .i .В нашей первой программе в следующей главе уже будет присутствовать подключение такого файла с помощью директивы препроцессора. Компиляция. На этом этапе компилятором проверяется текст программы на наличие синтаксических ошибок и затем, если все хорошо, текст программы с подстановками, сделанными на предыдущем этапе, преобразуется в машинный код (код на языке, уже непосредственно понятный компьютеру). Иногда его еще называют объектным. На этом этапе создается файл с расширением .obj. Также в вашей программе могут использоваться кусочки уже готового машинного кода, расположенного в иных библиотеках (например, в файлах с расширением .lib). На этапе компиляции эти библиотеки еще не будут подключены к только что созданному машинному коду. Они подключаются на следующем этапе. Компоновка. Следующий этап называется компоновка. Программы на С++ обычно содержат ссылки на функции, определенные где-либо вне самой программы, например, в стандартных библиотеках или в личных библиотеках групп программистов, работающих над данным проектом. Объектный код, созданный компилятором, обычно содержит «дыры» из-за этих отсутствующих частей. Компоновщик связывает объектный код с кодами отсутствующих функций, чтобы создать исполняемый загрузочный модуль (без пропущенных частей). Получаем в итоге файл с расширением .exe (для Windows), либо .out (для Linux). Загрузка. Следующий этап называется загрузка. Перед выполнением программа должна быть размещена в оперативной памяти компьютера. Это делается с помощью загрузчика, который забирает исполняемый загрузочный модуль с диска (наш файл с расширением .exe) и перемещает его в оперативную память. Выполнение. И наконец, рассмотрим самый последний этап — выполнение. С этого момента компьютер под управлением своего ЦПУ (центральное процессорное устройство) начинает последовательно выполнять в каждый момент времени по одной команде программы. Эти моменты времени носят название такт, каждый процессор имеет свою тактовую частоту, которую задает его внутренний тактовый генератор. Чем более высокая частота работы вашего процессора, тем, соответственно, лучше и тем быстрее выполняются ваши программы. На маленьких программах это, конечно же, не очень ощутимо, но когда запускаете какую-нибудь новомодную игрушку, то все очень даже заметно. Программирование Микроконтроллеров Программирование микроконтроллеров обычно осуществляется на языке ассемблера или Си, хотя существуют компиляторы для других языков, например, Форта. Используются также встроенные интерпретаторы Бейсика. Известные компиляторы Си для МК: CodeVisionAVR (для AVR) IAR [1] (для любых МК) ICC (для AVR, MSP430, ARM7, Motorola ) WinAVR (для AVR) Keil (для архитектуры 8051 и ARM) HiTECH (для архитектуры 8051 и PIC от Microchip) Для отладки программ используются программные симуляторы (специальные программы для персональных компьютеров, имитирующие работу микроконтроллера), внутрисхемные эмуляторы (электронные устройства, имитирующие микроконтроллер, которые можно подключить вместо него к разрабатываемому встроенному устройству) и интерфейс JTAG. 24

Читайте также:  Система типов данных языка программирования

Источник

Чем отличается компилятор от среды разработки?

Здравствуйте, помогите пожалуйста. Раньше я работал только на Pascal, а сейчас решил перейти в C++, и узнал, что кроме компилятора есть еще и среда разработки, расскажите пожалуйста поподробнее об этих двух «программах».

Среда разработки, это набор ПО которое будет вам визуально помогать в коде. Допустим, подсветка синтаксиса. Например, в MS VS даже функции некоторые может выводить, при начале ввода. В общем, визуально код удобнее писать. В нем же всегда и содержится компилятор.

Под средой разработки обычно понимается приложение для написания и редактирования кода, плюсы ее использования в том, что она помогает в написании кода: подсвечивает синтаксис и подсказывает верное написание ключевых слов языка, функций, так же позволяет управлять проектами состоящими из множества файлов.
А компилятор — это всего-навсего консольная утилита, которая получает на вход файлы с исходным кодом на языке программирования, делает немного магии и выдает готовый бинарник.
В случае с Pascal, вы наверняка использовали такие компиляторы: либо free pascal compiler, либо компилятор от Борланда. В случае С++ — то это либо Visual C++ compiler, либо GNU GCC (ну или какие-то другие менее популярные).
Среда разработки может сама запускать компилятор и передавать ему на обработку все файлы проекта, а затем она может подсветить строки с ошибками (если ошибки присутствуют) — это очень удобно.

RPI.su — самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Читайте также:  Нейро лингвистическое программирование техника

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected] . Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.

Источник

Русские Блоги

Различие и понимание компилятора, интерпретатора, интегрированной среды разработки, IDE и т. Д. (Памятка)

переводчик

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

Переводчик

Интерпретатор — это также компьютерная программа, которая непосредственно выполняет код, написанный на языке программирования или языке сценариев, и не прекомпилирует исходный код в машинный код. Интерпретатор обычно выполняет программный код следующими жестами:
(1) Проанализировать исходный код и выполнить его напрямую.
(2) Преобразуйте исходный код в относительно более эффективный промежуточный код, а затем немедленно выполните его.
(3) Выполнить код, предварительно скомпилированный и сохраненный компилятором внутри интерпретатора.
Для облегчения понимания см. рисунок ниже:

Интегрированная среда разработки (IDE)

IDE — это английское сокращение от Integrated Development Environment. Как правило, компилятор и интерпретатор интегрированы в интегрированную среду разработки.
Инструмент компиляции — это инструмент с функцией компиляции. . .

Источник

Оцените статью