Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: cheops   (04.10.2007 в 21:56)
PHP - это интерпретатор, т.е. скрипты просматриваются и выполняются построчно, причём без интерпретатора они выполнятся не будут. Прочитали строку, выполнили, прочитали следующую - выполнили. Очено удобно, но крайне медленно.
C++ - это компилятор, т.е. он подготавливает бинарный файл (exe-файл, если речь идёт об Windows), который может непосредственно "читаться и выполняться" процессором - без какой-либо предварительной обработки (причём файл является исполняемым - компилятор для его работы больше не нужен - он нужен только для конвертации исходного кода в исполняемый). В результате программа выполняется очень быстро (что важно для ресурсоёмких систем - операционные системы, игры, теже компиляторы и интерпретаторы). Подготовка такого бинарного файла происходит в несколько этапов. Сначала, все файлы проекта компилируются (compile) в бинарные модули. Результатом этого, как правило, является пробразование cpp-файлов в obj-файл. Полученные бинарные модули соединяются или линкуются (link) друг с другом с выдачей результата (exe-файл). Весь этот процесс обычно объединяется в процесс сборки проекта (make) и выполняется за раз (все перекомпилируется, а затем пересобирается). Правда иногда проекты достигают больших (процесс сборки на последних моделях машин достигает часа) и гиганских (даже на многопроцессорных машинах время сборки может достигать суток) размеров. В этом случае стараются проводить компиляцию и сборку отдельно - т.е. если файл не изменялся, то его и не перекомпилируют, а используют ранее созданный объектный модуль (obj-файл).

PS Смысл всех этих манипуляций - собрать исполняемый модуль (для конкретного процессора) за как можно более короткое время.


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: