Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на C / C++ / Нейбауэр А. Моя первая программа на С.doc
Скачиваний:
182
Добавлен:
02.05.2014
Размер:
3.75 Mб
Скачать

Компиляция программы

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

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

Компоновка программы

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

Тестирование программы

Итак, теперь можно запускать программу. Если все было сделано правильно, программа будет выполняться без проблем. Но могут иметь место ошибки двух типов: ошибки выполнения и логические ошибки.

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

Например, программа включает команду открыть файл ACCOUNT.DAT, которого нет на вашем диске. Компилятор и компоновщик полагают, что этот файл будет существовать к моменту запуска программы, так что на этапе создания исполняемого модуля сообщение об ошибке не появится. Однако когда вы запустите программу, она не сможет найти этот файл и выполнить инструкцию.

Логическая ошибка имеет место в том случае, когда программа выполняет заведомо неправильную инструкцию, что, естественно, приводит к получению неправильных результатов. Такая ошибка представляет наибольшую проблему для идентификации, поскольку вы можете даже не знать о ее существовании. Вы должны скрупулезно проверять результаты работы программы.

Рассмотрим снова программу расчета величины налога на продажи. Положим, вы сделали ошибку и указали, что величину объема продаж надо не умножить на ставку налога, а разделить. У компилятора и компоновщика нет возможности узнать, что вы сглупили, так что процесс компиляции и компоновки, по-видимому, пройдет благополучно. Но, к несчастью, запустив программу, вы обнаружите, что величина 6% налога для 100 долларов составила 1666.66 доллара! Ксожалению, многие логические ошибки не столь очевидны, и отыскать их крайне сложно.

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