Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






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





Файл, содержащий текст программы, написанный на языке Си++, - это обычный текстовый файл, который можно отредактировать или создать в любом текстовом редакторе. Но поскольку он всё же содержит текст программы, а не просто текст, то для него обычно вместо расширения *.txt выбирают расширение *.cpp, *.c или *.h.

С текстом программы принято работать не в обычном текстовом редакторе, а в среде программирования, например Borland или Microsoft Visual, которая содержит свой специфичный текстовый редактор. Преимущество такой организации работы в том, что текстовый редактор среды с помощью цвета или пробелов делает программу более читабельной, например, выделяя каждый своим цветом ключевые слова языка, константы, комментарии и т.д. Кроме того, среда программирования предназначена для компиляции и компоновки из исходного текстового файла нового исполняемого файла (программы), содержащего инструкции процессора и имеющего обычно расширение *.exe. Этапы подготовки исполняемой программы приведены на рис. 1.1.

Рис. 1.1. Этапы подготовки исполняемой программы

 

Исходный текст программы на первом этапе обрабатывается препроцессором, задача которого выполнить директивы препроцессора (строки программы, начинающиеся с #). Например, в тексте программы hello.cpp есть только одна директива include. С помощью этой директивы в исходный текст программы препроцессор вставляет содержимое текстового файла iostream.h. В результате мы получаем полный текст программы.

На втором этапе текст программы анализируется компилятором (Compiler), и если в программе отсутствуют синтаксические ошибки, то создаётся так называемый объектный файл с расширением *.obj, который является исходным файлом для третьего этапа – компоновки. Если же компилятор обнаруживает синтаксические ошибки в тексте программы, то объектный файл не создаётся, и программисту в отдельном окне message выводятся сообщения об ошибках с указанием, в какой строке программы, по мнению компилятора, присутствует ошибка и в чём она заключается. В 90% случаев компилятор правильно указывает строку с ошибкой и её тип, но иногда ошибка может находиться выше в тексте программы.

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

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

В компиляторах обычно предусмотрена возможность выполнения отдельных этапов подготовки программы по отдельности или вместе. Так в компиляторе фирмы Borland при выборе в меню команды Compile будет выполнена только компиляция программы с созданием её объектного модуля. При выборе в меню команды Link запустится только компоновщик, который воспользуется объектным модулем программы и создаст исполняемую программу. При выборе в меню команды Build all будут выполнены все этапы подготовки программы.

 

Date: 2015-05-22; view: 1632; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию