Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Создание выполнимого файла
После сохранения на диске исходного файла самое время сгене- рировать выполнимый машинный код. Для этого нужно выбрать пункт 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; Нарушение авторского права страницы