Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 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 будут выполнены все этапы подготовки программы.
|