Создание объектного модуля




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

 
 

Объектный модуль создается из исходного специализированной программой интегрированного пакета – транслятором (компилятором). Схема получения объектного модуля:

 

 

Получение объектного модуля реализуется соответствующей командой пользователя интегрированной среде Borland C++. В качестве команд трансляции используются:

¨ P roject\ C ompile (Проект\Компилировать)– активизация пункта P roject главного меню, а затем подпункта C ompile;

¨ горячие клавиши (указаны справа в меню) Alt + F9;

¨ кнопка на панели инструментов.

Команда предписывает пакету последовательность действий:

¨ активизировать требуемый компонент IDE (транслятор);

¨ проанализировать спецификацию файла и содержимое активного окна;

¨ сформировать окно сообщений «Translating имя файла » о прохождении трансляции;

¨ выполнить построчное преобразование директив препроцессора и операторов программы с алгоритмического языка в соответствующие машинные команды;

¨ выдать в окно «Translating имя файла Complete » сообщение об окончании трансляции с указанием количества ошибок, если они найдены;

¨ отобразить окно «Message » с указанием спецификации транслируемого файла и расшифровкой найденных ошибок;

¨ создать файл предварительной компиляции, из содержимого директив (если они используются);

¨ сформировать результаты преобразования тела программы в объектный модуль.

Активизация транслятора производится автоматически после ввода команды компиляции. Копия транслятора загружается в ОП и, активизируясь, создает там же собственный буфер трансляции, а на экране монитора – окно «Translating имя файла ».

Анализ заголовка активного окна определяет спецификацию файла, подлежащего обработке. В буфер транслятора загружается его копия и начинается преобразование:

 

 

Основные компоненты программы определяют последовательность действий транслятора. Директивы препроцессора преобразуются в отдельный файл bcwdef.csm, создаваемый первым. Тело программы – в объектный модуль. Спецификация объектного модуля формируется автоматически из спецификации файла исходного модуля с заменой расширения «срр» на «obj».

Результат – появление на диске двух файлов: предварительной компиляции bcwdef.csm и созданного объектного модуля имя.obj.

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

Например, окно сообщений:

 

 

подтверждает выполнение трансляции исходного модуля.

Окно определяет четыре группы компонентов, обеспечивающих контроль выполнения трансляции:

Ø Status (состояние): Compiling… (компиляция);

Ø Files – файлы, участвующие в трансляции:

ü Main file (главная функция);

ü Compiling (компилируемый в данный момент);

ü Information (информация);

Ø Statistics (статистика) Total (всего) Current (сейчас):

ü Lines (строк);

ü Warnings (предупреждений);

ü Errors (ошибок);

Ø элементы управления.

Так окно трансляции файла U:\Иванов\linie.cpp, расположенного в активном окне редактора и содержащего три директивы, определяет значительные объемы трансляции (более 90000 строк).

При этом в папке Иванов начинают создаваться два файла: предварительный bcwdef.csm и объектный – linie.obj.

Окончание процесса компиляции сопровождается изменением заголовка и некоторых компонентов диалогового окна «Translating имя файла »:

 

 

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

Ошибки – нарушения правил записи типовых структур, которые может исправить только пользователь.

Предупреждения – некорректные языковые структуры, однозначно исправляемые транслятором. Чаще всего предупреждения игнорируются пользователем (в дальнейшем это может привести к получению неверного результата).

Анализ двух последних строк окна: Warnings (предупреждения), Errors (ошибки) определяет их наличие (отсутствие). Нулевые значения в столбцах Total (всего) и Current (сейчас) свидетельствуют об отсутствии ошибок и предупреждений.

Фиксация ошибок и предупреждений подтверждается появлением окна сообщений «Message». Окно содержит информацию о компиляции конкретного файла и расшифровку каждой найденной ошибки и предупреждения:

 

 

Активизация окна «Message» осуществляется по типовой методике. Простейший вариант – щелчок левой клавишей мыши на заголовке окна.

Информация об ошибках и предупреждениях выводится построчно: восклицательный знак (красного или желтого цвета соответственно), имя файла, расположение в тексте (номер строки и позиции в ней в круглых скобках через запятую), пояснение.

Указание мышью конкретной ошибки (предупреждения) в окне «Message» автоматически подсвечивает (желтым цветом) в окне редактирования соответствующую строку.

Перебор сообщений в окне «Message» осуществляется

¨ командами S earch\ P revious Message... (Поиск\Предыдущее сообщение) и S earch\ N ext Message... (Поиск\Следующее сообщение);

¨ горячими клавишами Alt + F7 и Alt + F8,

¨ указанием мышью;

¨ клавишами ­ и ¯.

Перемещение указателя по строкам в окне «Message», приводит к подсвечиванию строк с ошибками в окне редактирования.

Исправление найденных ошибок выполняется в окне текстового редактора по типовой методике. Исправленный текст необходимо оформить (сохранить) в файл исходного модуля, а затем повторить этап компиляции.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-12-07 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: