Форум: Форум C++Разное
Новые темы: 00
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум C++

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: помогите с теорией компилирования
 
 автор: tricket   (04.10.2007 в 21:36)   письмо автору
 
 

в общем друзья помогите с теорией по borland C++ bulder for DOS
после PHP я задачи на C++ в инсте делаю на 5) но вот с теорией по етой среде я провалился....
в общем прошу у вас помощи! вот никогда теорию не учил.... http://img105.imageshack.us/img105/5762/borlandkl1.jpg
вот скриншот) объясните поподробней про 4 элемента меню compile, make, link, link all.
там ещё говорили про компоновщик... но я нефига не понял... в общем всё я запутался((((

  Ответить  
 
 автор: cheops   (04.10.2007 в 21:56)   письмо автору
 
   для: tricket   (04.10.2007 в 21:36)
 

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

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

  Ответить  
 
 автор: tricket   (04.10.2007 в 22:34)   письмо автору
 
   для: cheops   (04.10.2007 в 21:56)
 

cheops спасибо! всё встаёт на свои места!
после интерприкатора PHP сложно думать "по компиляторски".
как я понял схема такова
1)создаются из cpp-файлов obj-файлы. как говорят преподы из понятных человека символов машинный код. (compile)
2)эти файлы линькуются(link)
3)собирается exe файл
все три пункта объединяются в make
компоновщик как понимаю пункт 2
уфф я всё правильно понял?

  Ответить  
 
 автор: cheops   (04.10.2007 в 22:45)   письмо автору
 
   для: tricket   (04.10.2007 в 22:34)
 

В общем да, только пункт 3) - это объединение первых двух пунктов, т.е. сборка проекта заключается в компилировании отдельных файлов в бинарный код и линковка (связывание) этих бинарных модулей в одно целое.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования