Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Создание выполнимого файла



После сохранения на диске исходного файла                                          самое время сгене- рировать выполнимый машинный код.

Для этого нужно выбрать пункт Make меню Compile или просто нажать клавишу

<F9>.  Интерфейс               откроет в нижней части экрана еще одно небольшое окно, отражающее ход процесса компиляции. Если все в порядке, после сообщения

ing                                         увидите  слова           errors .

 

Ошибки инсталляции GNU C++

В процессе инсталляции могут возникнуть довольно распространенные ошибки, кото- рые испортят ваши выдающиеся достижения в программировании. Две наиболее рас- пространенные ошибки можно диагностировать, пытаясь скомпилировать программу. Сообщение  Bad                     or          name означает, что MS DOS не может найти gcc.exe , т.е. компилятор GNU C++. Причиной этого может быть неправильная инсталляция продукта или некорректное задание пути c:\djgpp\bi n к каталогу, где находится gcc.exe. Попытайтесь реинсталлировать GNU C++ и проверьте,

ли в файле autoexec.ba t строка SET Перезагрузите компьютер.

Сообщение   gcc.exe :                                             No  such  fil e  or director y означает, что              не понимает используемых длинных имен файлов (что характерно для MS DOS). Эту проблему можно решить, подредактировав файл

env и присвоив в нем свойству            значение Y.

И еще одно предупреждение: GNU C++ не понимает имен файлов, которые содержат пробелы. В этом случае не поможет даже флажок, разрешающий длинные имена.                                                                                              ;

 

Когда компилятор GNU C++ сталкивается в программе с какой-либо некоррект- ностью, он генерирует сообщение об ошибке. Ошибки в программном коде являются таким же распространенным явлением, как снег на Аляске. Вы обязательно столкне- тесь с многочисленными предупреждениями и сообщениями об ошибках, возможно, даже при работе с  простенькой программой                                                                                                                         Чтобы продемонстри- ровать процесс исправления ошибок, изменим  в  строке                                                                                                                              на

 

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

 

I n function  'in t                         char * * ) ' : There  were error s

Глава 1. Написание вашей первой программы                                       25


Таким многословным образом компилятор сообщает, что GNU C++ не может по- нять значения записи из       строки программы.

Термин parse обозначает, что ошибка была найдена при проведении синтаксиче- ского анализа команд C++.

Отредактируйте файл, удалив лишний знак ">". Теперь, нажав <F9>, вы благопо- лучно создадите выполнимую

 

Почему C++ так требователен

Как видим, C++ смог определить, что мы испортили в предыдущем примере. Од- нако если GNU C++ нашел ошибку, то почему же он сам не решит эту пробле- му— и дело с концом?

• Ответ достаточно прост. Хотя в данном случае GNU C++ считает, что мы всего лишь допустили опечатку при вводе символов полностью положиться на его интуицию нельзя. Ведь правильной командой в действительности может оказаться

: совершенно другая, не имеющая никакого отношения к ошибочной команде. Если бы компилятор исправлял ошибки так, как считает нужным, то GNU C++ скрывал бы от разработчиков многие реальные проблемы.

; Требуется много усилий и времени, чтобы найти скрытую в программе ошибку. Намного лучше позволить найти эту ошибку компилятору. Мы тратим наше дра- гоценное время, создавая ошибки. Но зачем же расходовать его еще и на их поиск, если GNU C++ может их выловить, не тратя нашего времени. Каким, как вы ду- маете, будет мой выбор?..

 

 

Пришло время испытания вашего нового творения. Для выполнения программы нужно запустить файл CONVERT.EXE И обеспечить его входными данными. Получен- ный результат можно использовать для анализа.

Чтобы запустить программу из среды GNU C++, нужно выбрать пункт Run из ме- ню или нажать <Ctrl+F9>.

При этом откроется окно, в котором вам предложат ввести температуру по Цель- сию. Для проверки правильности внесите какую-то заранее известную температуру, например 100°. После нажатия клавиши <Enter> программа возвращает эквивалент- ную температуру по Фаренгейту, т.е.                                              Однако, так как rhid e закрывает окно сра- зу же по завершении программы, увидеть результат вы не сможете; rhid e открывает предупредительное окно с сообщением, что программа завершена с нулевым кодом ошибки. Несмотря на устрашающее выражение "код ошибки", ноль как раз обознача- ет отсутствие ошибок в процессе выполнения программы.

Чтобы увидеть результат выполнения программы, щелкните на пункте User Screen меню Windows или нажмите   Это окно отображает предыдущее окно сеанса MS DOS. В нем можно увидеть последние 25 строк выполнения программы, в том числе вычисленное значение температуры по Фаренгейту.

Поздравляю! Используя GNU C++, вы только что ввели, скомпилировали и запус- тили свою первую программу.

 

GNU - это не Windows

Заметьте, что пакет GNU  C++  не                               для разработки программ Windows. Написать Windows-приложение с помощью GNU C++ теоретически можно, но без ис- пользования внешних библиотек, как в Visual C++, сделать это весьма непросто.

 

26                                                      Часть I. Первое знакомство с C++


Windows-программы имеют ярко выраженный визуально-ориентированный оконный интерфейс. А          является 32-битовой программой, которая выполняется в среде Windows, но Windows-программой в настоящем смысле ее не назовешь.

Если  вы  не              чем 32-битовая программа отличается  от                           не вол- нуйтесь об этом. Как уже отмечалось, эта книга не о написании программ для Windows. Интерфейс программ, разработанных нами в среде GNU C++, представляет собой набор командных строк в окне MS DOS.

Начинающим Windows-программистам огорчаться не следует: ваше время не про- падет зря. Изучение C++ совершенно необходимо как предварительное условие для написания Windows-программ.

Помощь GNU C++

GNU C++ обеспечивает разработчиков системой помощи через пользовательский интерфейс rhide . Разместите свой курсор на конструкции, смысл которой неясен, и нажмите <F1>. Раскроется окно с имеющейся по этому вопросу информацией. Для отображения тематического списка помощи нужно выбрать

Справочная информация, предоставляемая GNU C++, не так исчерпы- вающа, как справка некоторых других инструментальных средств (например, Microsoft Visual C++). Если разместить курсор на слове          и нажать <F!>, появится окно, описывающее редактор, — но ведь это не совсем то, что мы искали. Внимание GNU C++ в основном сосредоточено на библиотеке функ- ций и опциях компиляции. К счастью, после того как вы овладеете языком C++, помощи GNU C++ окажется достаточно для разработки большинства приложений.

 

 

Хотя разбор программы, написанной другим, — вещь не самая впечатляющая, но на этапе вашего становления как программиста заниматься этим очень даже полезно. Рас- смотрим далее программу срр и найдем элементы, общие для всех программ.

ОпределениеструктурыпрограммC++

Каждая программа, написанная с использованием материала этой книги, в своей основе будет иметь одну и ту же базовую схему:

//Это                               которые компьютер игнорирует

<stdio.h>

 

in t                                                        char*                   ])

{

записывается код программы...

return

}

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

Использование в исходном коде комментариев

Нетрудно заметить, что первые несколько строк                                 срр являются обыч- ным текстом. Значит, или GNU C++ оказался более понятливым, чем я его предста- вил, или — что вероятнее всего — этот код предназначается для человеческих глаз.


Поделиться:



Последнее изменение этой страницы: 2019-04-19; Просмотров: 195; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.021 с.)
Главная | Случайная страница | Обратная связь