Компилятор и для чего он нужен

Author:

2013-12-07 00:15:14

Компилятор – это приложение, выполняющее трансляцию программы написанной на языке высокого уровня в аналогичную программу близкую к абсолютному (машинному) коду, который в будущем будет обработан напрямую процессором.

Конечный продукт компиляции – исполнимый модуль, привязанный к данному процессору и операционной системе. Такой модуль работает на конкретных машинах (процессоре и ОС), и в других системах обрабатываться не будет. Для решения данной проблемы существуют специальный вид компилятора, именуемый кросс – компилятором, данный продукт позволяет генерировать код, работающий за пределами среды (процессора и ОС) в которой он создавался. Но для начала вы можете воспользоваться услугой аудитора. Узнать стоимость аудиторской проверки вы можете прямо сейчас на сайте http://www.fcaudit.ru/services/audit/check/. Посетив наш сайт, наша компания вас приятно удивит, не только ценами, но и отзывами о наших высоко классифицируемых специалистах!

Существует 3 вида компиляции:

  1. Условная – трансляция текста зависит от условий и значения определенных констант в исходной программе. Таким образом транслироваться может не текст целиком, а его отдельно взятые части.
  2. Пакетная – компиляция нескольких модулей в одном пункте.

  3. Построчная – выполняет последовательную компиляцию отдельно взятых операторов.

  4. Раздельная компиляция.

Раздельная компиляция – трансляция частей исходной программы по отдельности с дальнейшим объединением их компоновщиком. Изначально компиляторы создавались для трансляции исходной программы целиком, но так как размеры программ со временем увеличивались, данная задача представлялась трудоемкой и занимала много времени. Для облегчения компиляции больших и сложных ресурсов стало необходимостью разделение программ на отдельные части (библиотеки), которые могли обрабатываться независимо друг от друга. После компиляции библиотек составлялись отдельные (объектные) модули для каждой их них, которые в последующим необходимо было воссоединить в один исполнимый модуль.