Компиляция, компоновка и выполнение проекта
Компиляция (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. Закрыть проект можно просто, закрыв главное окно.
Воспользуйтесь поиском по сайту: