Проект. компиляция программы и сборка исполняемого модуля презентация

Разное
Описание понятий
Цечоев Магомед
Содержимое публикации

ФГБОУ ВО «МОРДОВСКИЙ ГОСУДАРСТВЕННЫЙ

ПЕДАГОГИЧЕСКИЙ УНИВЕРСИТЕТ ИМЕНИ М. Е. ЕВСЕВЬЕВА»

 

Физико-математический факультет

Кафедра информатики и вычислительной техники

 

 

Реферат

 

«ПРОЕКТ. КОМПИЛЯЦИЯ ПРОГРАММЫ И СБОРКА ИСПОЛНЯЕМОГО МОДУЛЯ»

 

Выполнил:

студент группы МДФ-117

Цечоев М.Т.

Проверила:

кандидат ф.-м. наук, доцент

Кормилицына Т. В.

Саранск 2021

Компиляция — преобразование программой-компилятором исходного текста программы, написанного на языке высокого уровня в машинный язык, в язык, близкий к машинному, или в объектный модуль. Результатом компиляции является объектный файл с необходимыми внешними ссылками для компоновщика.

Компилятор читает всю программу целиком, делает ее перевод и создает законченный вариант программы на машинном языке, который затем и выполняется.

Виды компиляции

Пакетная. Компиляция нескольких исходных модулей в одном пункте задания.

Построчная. То же, что и интерпретация.

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

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

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

Существуют различные виды компиляторов:

·интерпретирующие (пошаговые), осуществляющие последовательную независимую компиляцию каждой отдельной инструкции исходной программы;

·оптимизирующие, осуществляющие повышение эффективности объектных модулей, например, за счет вынесения из циклов последовательности команд, результаты действий которых не меняются при повторении циклов;

·отладочные, облегчающие пользователю отладку программ.

Компиляция относится к обработке файлов исходного кода (.c, .cc, или .cpp) и создании объектных файлов проекта. На этом этапе не создается исполняемый файл. Вместо этого компилятор просто транслирует высокоуровневый код в машинный язык. Например, если вы создали (но не скомпоновали) три отдельных файла, у вас будет три объектных файла, созданные в качестве выходных данных на этапе компиляции. Расширение таких файлов будет зависеть от вашего компилятора, например *.obj или *.o. Каждый из этих файлов содержит машинные инструкции, которые эквивалентны исходному коду. Но вы не можете запустить эти файлы! Вы должны превратить их в исполняемые файлы операционной системы, только после этого их можно использовать

Сборка(build)— процесс получения информационного продукта из исходного кода. Чаще всего включает компиляцию и компоновку, выполняется инструментами автоматизации

Основной задачей программиста, который непосредственно занимается кодированием (написанием исходного кода) программы, является написание исходного текста программы на одном из языков программирования. Хороший программист, разрабатывая новую программу, не пишет весь код заново. Он старается использовать уже готовые (написанные ранее) программные коды (библиотеки), написанные как им самим, так и другими разработчиками. Если рассматривать эти библиотеки, как строительные блоки, то программист из них, как из кирпичей строит здание – новую программу. Такой подход к программированию называется технологией повторного использования кода. Что обычно из себя представляют подобные строительные блоки? Это программный код и необходимые ресурсы (например, файлы данных или рисунков). Стоит отметить, что по мере развития библиотек, появляются их новые версии. Но при этом старые не исчезают, а продолжают использоваться уже написанными ранее программами.

В процессе развития технологии программирования было несколько вариантов реализации подхода к повторному использованию кода. На сегодняшний день – это широко используемые динамически подгружаемые библиотеки (DLL-библиотеки). DLL- файлы – это обычные PE-файлы (файлы в формате PE – portable executable) . Это значит, что компьютер, работающий под управлением 32- или 64-разрядной версии Windows, способен загрузить этот файл и выполнить код, содержащийся в нем. Данный подход используется уже несколько лет и кроме достоинств в нем есть ряд недостатков (наиболее известный получил звучное название "Ад DLL") от которых настало время избавляться. И в качестве решения проблем DLL-библиотек в .NET предложен новый подход, в соответствии с которым на замену DLL-библиотекам пришло понятие сборок. Сборка – это единица повторного использования кода, в которой поддерживается система управления версиями и заложена система управления безопасности программного обеспечения. Стоит обратить внимание на одну из революционных особенностей сборок по отношению к DLL-библиотекам – сборки самодостаточны, они содержат метаданные (metadata), которые несут в себе информацию о версии, зависимостях, типах, атрибутах и многое другое.

О том, как это реализовано в .NET и как воспользоваться всеми преимуществами нового подхода к повторному использованию кода, пойдет речь в этом разделе.

Компоновка, редактирование связей (linking, linking editing) – это процесс сборки загрузочного модуля (исполняемого файла) из полученных в результате раздельной компиляцииобъектных модулей с одновременным автоматическим поиском и присоединением библиотечных подпрограмм и процедур. В процессе компоновки программа собирается в единое целое непосредственно в оперативной памяти в файл, готовый к работе (загрузочный модуль - файл с расширением .ехе).

Работу по компоновке программы выполняет программа компоновщик (linker). Эта программа выполняет следующие основные функции:

·распределяет пространство оперативной памяти для программы;

·связывает вместе части программы, представленные отдельными объектными модулями (файлами .obj);

·настраивает адреса подготовленной программы, заменяя все относительные адреса, выработанные компилятором, соответствующими абсолютными адресами фактически распределенной памяти.

Компоновщики бывают в двух реализациях:

·компоновщики, которые готовят загрузочный файл; этот файл при необходимости может быть загружен в оперативную память для исполнения;

· компоновщики, которые готовят загрузочный файл, сразу физически размещают подготовленную версию машинного кода программы в памяти и передают управление на первую команду программы для непосредственного исполнения.

Эти операции могут быть выполнены с помощью меню Build.

Краткое описание основных команд этого меню:

·Сompile– компиляция выбранного файла, результат компиляции отображаются в окнахTask ListиOutput.

·Build– компоновка проекта. Компилируются все файлы, в которых произошли изменения с момента последней компоновки. После компиляции происходит сборка всех объектных модулей, включая библиотечные, в результирующий исполняемый файл. Сообщения об ошибках компоновки выводятся в окна Task List иOutput. Если обе фазы компоновки завершились без ошибок, то созданный исполняемый файл с расширением .ехеможет быть запущен. Запуск этого файла не осуществляется.

·Rebuild – делается то же, что и в команде Build, но при выполнении этой команды компилируются все файлы проекта независимо от того, были ли в них изменения.

Комментировать
Свидетельство участника экспертной комиссии
Оставляйте комментарии к работам коллег и получите документ бесплатно!
Подробнее
Также Вас может заинтересовать
Информатика
Уроки по информатики для 9 класса «Создание Web-сайта»
Информатика
Информатика
Информатика
Комментарии
Добавить
публикацию
После добавления публикации на сайт, в личном кабинете вы сможете скачать бесплатно свидетельство и справку о публикации в СМИ.
Cвидетельство о публикации сразу
Получите свидетельство бесплатно сразу после добавления публикации.
Подробнее
Свидетельство за распространение педагогического опыта
Опубликует не менее 15 материалов и скачайте бесплатно.
Подробнее
Рецензия на методическую разработку
Опубликуйте материал и скачайте рецензию бесплатно.
Подробнее
Свидетельство участника экспертной комиссии
Стать экспертом и скачать свидетельство бесплатно.
Подробнее
Помощь