| Компиляция (compilation) – это преобразование программы или ее отдельного модуля, текст которых составлен на языке программирования высокого уровня (исходная программа, исходный модуль – это файл с расширением.срр) в программу или модуль на машинном языке или на языке, близком к машинному (получают объектный модуль – файл с расширением.obj). Компиляцию осуществляет специальная программа – компилятор (compiler), которая является неотъемлемой частью системы программирования. На вход компилятора поступает исходный модуль (файл.срр), который после компиляции преобразуется в объектный модуль (файл.obj) Объектный модуль не может быть исполнен, его местоположение в оперативной памяти еще не известно (не определено). Компилятор вырабатывает только относительные адреса связи с другими модулями. В дальнейшем их предстоит заменить конкретными адресами (абсолютными адресами) той части оперативной памяти, в которой этот модуль будет выполняться. Результат компиляции – это промежуточная форма программных модулей, к которым впоследствии необходимо присоединить библиотечные модули, содержащие стандартные подпрограммы и процедуры, а если нужно, то можно добавить любые другие модули, написанные самим пользователем, и скомпилированные в объектные модули, возможно даже с других языков высокого уровня. Существуют различные виды компиляторов: · интерпретирующие (пошаговые), осуществляющие последовательную независимую компиляцию каждой отдельной инструкции исходной программы; · оптимизирующие, осуществляющие повышение эффективности объектных модулей, например, за счет вынесения из циклов последовательности команд, результаты действий которых не меняются при повторении циклов; · отладочные, облегчающие пользователю отладку программ. |
| Компоновка, редактирование связей (linking, linking editing) – это процесс сборки загрузочного модуля (исполняемого файла) из полученных в результате раздельной компиляции объектных модулей с одновременным автоматическим поиском и присоединением библиотечных подпрограмм и процедур. В процессе компоновки программа собирается в единое целое непосредственно в оперативной памяти в файл, готовый к работе (загрузочный модуль - файл с расширением.ехе). Работу по компоновке программы выполняет программа компоновщик (linker). Эта программа выполняет следующие основные функции: · распределяет пространство оперативной памяти для программы; · связывает вместе части программы, представленные отдельными объектными модулями (файлами.obj); · настраивает адреса подготовленной программы, заменяя все относительные адреса, выработанные компилятором, соответствующими абсолютными адресами фактически распределенной памяти. Компоновщики бывают в двух реализациях: · компоновщики, которые готовят загрузочный файл; этот файл при необходимости может быть загружен в оперативную память для исполнения; · компоновщики, которые готовят загрузочный файл, сразу физически размещают подготовленную версию машинного кода программы в памяти и передают управление на первую команду программы для непосредственного исполнения. |
Эти операции могут быть выполнены с помощью меню Build.

Краткое описание основных команд этого меню:
· С ompile – компиляция выбранного файла, результат компиляции отображаются в окнах Task List и Output.
· Build - компоновка проекта. Компилируются все файлы, в которых произошли изменения с момента последней компоновки. После компиляции происходит сборка всех объектных модулей, включая библиотечные, в результирующий исполняемый файл. Сообщения об ошибках компоновки выводятся в окна Task List и Output. Если обе фазы компоновки завершились без ошибок, то созданный исполняемый файл с расширением .ехе может быть запущен. Запуск этого файла не осуществляется.
· Rebuild – делается то же, что и в команде Build, но при выполнении этой команды компилируются все файлы проекта независимо от того, были ли в них изменения.
Эти операции могут быть выполнены и с помощью меню Debug, его команд Start или Start Without Debugging. Эти две команды делают все то же, что и команда Build, сразу же запуская файл с расширением .ехе.
8. Запустите ваш проект, выполнив команду Start меню Debug. Появляется выпадающее диалоговое окно, в котором нам задается вопрос: Would you like to build them? Вопрос задается вам, так как вы не выполняли отдельно процедуру компоновки программы Build, а ее необходимо выполнить. Согласитесь на ее выполнение, ответив «Да». Так как программа, которую вы скопировали, не имеет ошибок, то появляется черное консольное окно [ run], в котором начинает работать ваша программа.
Введите два числа – первое обязательно целое, второе любое. Получите результат.
9. Сверните главное окно Microsoft Visual Studio. Net и разверните свое окно. В вашей папке появилась новая папка Debug. В этой папке появились новые файлы, среди них файл MyFirstProject. exe (исполняемый файл). Запустите его, щелкнув по его пиктограмме.
10. Разверните снова главное окно Microsoft Visual Studio. Net. Закройте свой проект, выбрав в меню File команду Close Solution. Закрыть проект можно просто, закрыв главное окно.






