Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Программирование в Visual С++ 2005 2 страница




 

Программирование в Visual С++ 2005 37

 

Использование IDE

Вся разработка и выполнение программ, описанных в этой книге, будет осущест-
вляться внутри IDE. При запуске Visual С++ 2005 вы увидите окно приложения, подоб-
ное тому, что показано на рис. 1.3.

Часть окна слева на рис. 1.3 называется окном проводника решений (Solution
Explorer), правое верхнее окно, содержащее стартовую страницу (Start page) — это
окно редактора (Editor), а окно в нижней части называется окном вывода (Output).
Окно проводника решений позволяет осуществлять навигацию по программным фай-
лам, отображать их содержимое в окне редактора, а также добавлять новые файлы к
вашей программе. Окно проводника решений содержит три дополнительных вклад-
ки (на рис. 1.3 показаны только две из них), которые отображают Class View (пред-
ставление классов), Resource View (представление ресурсов) и Property Manager
(диспетчер свойств). Вы можете указать, какие именно представления отображаются,
через меню View (Вид). Окно редактора — это место, где вы вводите и модифициру-
ете исходный код и другие компоненты своей программы. Окно вывода отображает
сообщения, полученные при компиляции и компоновке вашей программы.


38 Глава 1

 

Опции панели инструментов

Выбрать, какие панели инструментов (toolbars) должны отображаться, можно, вы-
полнив щелчок правой кнопкой мыши на области панелей инструментов. При этом
появляется всплывающее меню со списком доступных панелей (рис. 1.4), в котором
отображаемые в данный момент панели помечены галочками.

Рис. 1.4. Всплывающее меню со списком доступных панелей инструментов

Здесь вы принимаете решение относительно того, какие панели инструментов
должны быть видимы в любой момент времени. Вы можете выбрать такой же на-
бор инструментов, как показан на рис. 1.3, пометив пункты меню Build (Сборка),
Class Designer (Конструктор классов), Debug (Отладка), Standard (Стандартная)
и View Designer (Конструктор представлений). Щелчок в серой области слева от
списка панелей инструментов помечает их либо снимает метку, если она уже стоит.
Помеченные панели отображаются, не помеченные — скрываются.

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




Программирование в Visual С++ 2005 39

 

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

Подобно многим другим Windows-приложениям, панели инструментов Visual С++ 2005 вклю-
чают всплывающие подскажи. Для того чтобы увидеть их, просто наведите курсор мыши
на соответствующую кнопку, подождите секунду или две и вы увидите белую метку с крат-
ким описанием функции этой кнопки.

 

Стыкуемые панели инструментов

Стыкуемая (dockable) панель инструментов — это такая панель, которую с по-
мощью мыши вы можете перетаскивать в любое удобное место внутри окна. Когда
она размещается у одной из четырех границ окна приложения, говорят, что она при-
стывкована (docked). При этом она выглядит точно так же как панели инструментов в
верхней части окна IDE. Панель в верхней части, содержащая пиктограмму с изобра-
жением дискеты, и текстовое поле справа от кнопки с биноклем — это стандартная
панель инструментов. Вы можете установить курсор мыши на ее поверхность, нажать
левую кнопку, перетащить в нужное место и оставить там, отпустив кнопку мыши.
Затем она будет выглядеть как отдельно окно, которое можно разместить где угодно.

Если вы перетащите любую стыкуемую панель прочь от границы окна приложения,
она будет выглядеть как стандартная панель, показанная на рис. 1.5 — в виде отдель-
ного окна с собственным заголовком. В этом состоянии она называется плавающей
(floating) панелью. Все панели инструментов, которые вы видите на рис. 1.3, являют-
ся стыкуемыми, поэтому вы можете поэкспериментировать с перетаскиванием любой
из них. Вы можете поместить их затем в их нормальное положение либо присоеди-
нить к любой границе окна.

Рис. 1.5. Стандартная панель

 

Документация

В процессе работы вы неоднократно столкнетесь с ситуацией, когда вам пона-
добится дополнительная информация о Visual С++ 2005. Библиотека разработчика
Microsoft Development Network (MSDN) содержит исчерпывающие справочные ма-
териалы обо всех возможностях Visual С++ 2005, а также всю сопутствующую инфор-
мацию. Когда вы инсталлируете Visual С++ 2005, вам предоставляется возможность
установить часть или всю документацию MSDN. Если у вас есть достаточно дискового
пространства, я настоятельно рекомендую инсталлировать библиотеку MSDN.

Для просмотра библиотеки MSDN нажмите функциональную клавишу <F1>. Меню
Help (Справка) также предлагает различные возможности доступа к документации.
Наряду с предоставлением справочной информации, библиотека MSDN — удобный
инструмент для анализа и исправления ошибок в коде, в чем вы убедитесь позднее,
читая настоящую главу.


40 Глава 1

 

Проекты и решения

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

Идея решения (solution) выражена в его названии. Решение предоставляет меха-
низм для объединения всех программ и других ресурсов, которые представляют реше-
ние определенной проблемы, связанной с обработкой данных. Например, распреде-
ленная система ввода заказов для некоторой бизнес-операции может быть составлена
из нескольких различных программ, каждая из которых может быть представлена в
виде проекта внутри единого решения; таким образом, решение — это папка, в кото-
рой собрана вся информация об одном или более проектах, причем папки проектов
вложены в папку решения. Информация о проектах решения сохраняется в двух фай-
лах с расширениями и . Когда вы создаете проект, новое решение создается
автоматически, если только вы не добавляли проект к существующему решению.

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

Определение проекта

Первый шаг при написании программы в вреде С++ 2005 состоит в созда-

нии проекта. Это делается путем выбора пункта

в главном меню или же нажатием комбинации клавиш <Ctrl+Shift+N>.
Наряду с перечнем файлов, определяющих код и все прочие данные, из которых со-
стоит ваша программа, файл проекта в папке проекта также сохраняет использу-
емые вами опции С++ 2005. Хотя у вас нет нужды напрямую работать с файла-
ми проектов — они целиком поддерживаются самой — вы можете просматривать
их, если хотите увидеть их содержимое, но будьте осторожны, чтобы случайно их не
модифицировать.

На этом мы заканчиваем знакомство с вводной информацией. Пора закатать рукава

 

 

 

Сейчас мы попробуем создать проект консольного приложения. Сначала выбери-
те в меню пункт , чтобы появилось диа-
логовое окно (Новый проект), показанное на рис. 1.6.

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


 
 

Рис. 1.6. Диалоговое окно New Project (Новый проект)

Это также идентифицирует мастер создания приложений, который наполнит про-
ект начальным содержимым. Правая панель отображает список шаблонов, доступных
для выбранного слева типа проектов. Выбранный шаблон используется мастером
приложения при создании файлов, составляющих проект. В следующем диалоговом
окне вам представится возможность настроить файлы, созданные в результате щелч-
ка на кнопке О К данного диалогового окна. Для большинства опций типа/шаблона
базовый набор исходных модулей программы создается автоматически.

После этого вы можете ввести соответствующее имя проекта в редактируемом
поле Name: (Имя:). Например, вы можете назвать его либо выбрать другое

имя проекта по своему усмотрению. Visual С++ 2005 поддерживает длинные имена
файлов, поэтому ваш выбор ничем не ограничен. Имя папки решения появляется в
нижнем редактируемом поле и по умолчанию совпадает с именем проекта. При жела-
нии можете его изменить. Диалоговое окно также позволяет модифицировать место-
положение решения, содержащего ваш проект — для этого предназначено редактиру-
емое поле Location: (Расположение:). Если вы просто введете имя проекта, то папка
решения будет автоматически установлена в папку с этим именем, в пути, указанном в
поле Location:. По умолчанию папка решения создается, если она не существует. Если
вы хотите указать другой путь для папки решения, просто введите его в поле Location:.
Альтернативно вы можете использовать кнопку Browse (Обзор) для выбора другого
пути размещения вашего решения. Щелчок на кнопке О К вызовет диалоговое окно ма-
стера Application Wizard (Мастер создания приложений), показанное на рис. 1.7.

Диалоговое окно отобразит текущие активные установки. Если вы щелкнете на
кнопке Finish (Готово), мастер создаст файлы проекта на их основе. В данном случае
вы можете щелкнуть на ссылке Application Settings (Настройки приложения) в левой
части, чтобы отобразить страницу настроек приложения, показанную на рис. 1.8.


42 Глава 1


Программирование в Visual С++ 2005 43

 

Страница Application Settings (Настройки приложения) позволяет выбрать опции,
которые нужно применить к проекту. В большинстве случаев в процессе изучения
С++ при создании проектов вы будете помечать флажок Empty project (Пустой про-
ект), но пока оставьте все как есть и щелкните на кнопке Finish (Готово). После этого
мастер приложений создаст проект со всеми файлами по умолчанию.

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

□ Файл с расширением , содержащий информацию о проектах, входящих в
решение.

□ Файл с расширением, содержащий опции, выбранные пользователем для
решения.

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

Если вы используете Windows Explorer, чтобы просмотреть папку проекта, из-
начально вы увидите там шесть файлов, включая с описанием содер-
жимого файлов проекта. Единственный файл, который, может быть, не упомянут
в — это файл с составным именем . Имя Компьютера.
Имя Пользователя. user, в котором хранятся опции проекта.

Созданный вами проект будет автоматически открыт в Visual С++ 2005 и левая па-
нель примет вид, показанный на рис. 1.9. Я увеличил ширину панели, чтобы можно
было видеть внизу полные имена вкладок.

Рис. 1.9. Левая панель проводника решений

Вкладка Solution Explorer (Проводник решений) предоставляет обзор всех про-
ектов текущего решения и файлов, которые они содержат; в данном случае, конеч-
но, проект только один. Вы можете отобразить содержимое любого файла в отдель-


44 Глава 1

 

ной вкладке окна редактора, просто дважды щелкнув на его имени в поле Solution
Explorer. В поле редактора вы можете переключаться между несколькими загружен-
ными файлами, просто щелкая на соответствующей вкладке.

Вкладка Class View (Представление классов) отображает классы, определенные в
вашем проекте, а также содержимое каждого из классов. Пока в вашем приложении
нет ни одного класса, поэтому поначалу здесь пусто. Когда мы будем говорить о клас-
сах, вы увидите, что вкладку Class View можно использовать для простого и удобного
передвижения по коду, представленному в виде определения и реализации классов.

Вкладка Property Manager (Диспетчер свойств) показывает свойства, установ-
ленные для отладочной (Debug) и рабочей (Release) версий вашего проекта. Разницу
между этими версиями я объясню чуть позже в настоящей главе. Вы можете изме-
нить любое из показанных свойств, щелкнув на нем правой кнопкой мыши и выбрав
Properties (Свойства) из контекстного меню; отобразится диалоговое окно, в котором
можно будет настроить свойства проекта. Можно также нажать комбинацию клавиш
<Alt+F7>, чтобы в любой момент отобразить диалоговое окно свойств. Мы поговорим
об этом подробнее, когда будем рассматривать версии программы Debug и Release.

Вкладка Resource View (Представление ресурсов) отображает диалоговые окна,
пиктограммы, панели меню и другие ресурсы, используемые программой. Поскольку
это консольная программа, в ней не используется никаких ресурсов; однако, когда
вы начнете писать Windows-приложения, то увидите здесь множество разных вещей.
Через эту вкладку вы можете редактировать или добавлять доступные ресурсы к про-
екту.

Подобно большинству элементов IDE-греды Visual С++ 2005, Solution Explorer и
другие вкладки представляют контекстно-зависимые меню, вызываемые щелчком пра-
вой кнопкой мыши на элементах, отображаемых на вкладках, а иногда и на пустом
поле этих вкладок. Если вы обнаружите, что Solution Explorer мешает вам при напи-
сании кода, можете скрыть его, щелкнув на пиктограмме Autohide (Автосокрытие).
Затем, чтобы отобразить его, щелкните на имени вкладки в левой части окна IDE.

Модификация исходного кода

Мастер Application Wizard генерирует полное консольное приложение Win32, ко-
торое можно тут же скомпилировать и запустить. К сожалению, поначалу сгенериро-
ванная программа не делает ничего, поэтому для того, чтобы сделать ее несколько
более интересной, в нее потребуется внести изменения. Если файл ExlOl. срр еще
не отображен в панели редактора, выполните двойной щелчок на его имени в панели
Solution Explorer. Этот файл — главный исходный файл программы, который сгенери-
рован мастером Application Wizard, и выглядит он так, как показано на рис. 1.10.

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

Options (Параметры). Если вы развернете опцию C/C++ в правой панели и выберете
General (Общие) в расширенном дереве, то сможете выбрать Line Numbers (Номера
строк) в правой панели диалогового окна. Сначала я дам вам общее представление о
том, что делает код на рис. 1.10, а подробности вы узнаете позже.

Первые две строки — просто комментарии. Все, что следует в строке за "//", ком-
пилятором игнорируется. Когда вы хотите добавить описательные комментарии в
строке, предварите текст символами "//".

В строке 4 находится директива , добавляющая содержимое файла

в то место данного файла, где она расположена. Это стандартный способ до-
бавления содержимого исходных файлов в исходные файлы программ на С++.


Программирование в Visual С++ 2005 45

Рис. 1.10. Содержимое файла Ех1_01. срр

Строка 7 — первая строка исполняемого кода в данном файле и начало функции
. Эта функция — просто именованный элемент исполняемого кода програм-
мы на С++; каждая программа С++ состоит, по крайней мере, из одной, а чаще — из
множества функций.

Строки 8 и 10 содержат левую и правую фигурные скобки соответственно, кото-
рые ограничивают исполняемый код функции . Таким образом, исполняе-
мый код состоит из единственной строки 9, и все, что он делает — это завершает про-
грамму.

Теперь вы можете добавить следующие две строки кода в окне редактора.

 

 


Невыделенные строки — те, что сгенерированы для вас автоматически. Новые
строки, которые вы должны добавить, выделены полужирным. Чтобы вставить каж-
дую новую строку, поместите курсор в конец текста на предыдущей строке и нажмите
<Enter>, чтобы создать пустую строку, в которой вы сможете напечатать новый код.
Убедитесь, что он выглядит точно так, как в предыдущем примере; в противном слу-
чае программа может не скомпилироваться.

Первая новая строка — директива , которая добавляет содержимое

одной из стандартных библиотек ISO/ANSI С++ в исходный файл. В библиотеке
<iostream> определены средства для базовых операций ввода-вывода, и одна из них
используется во второй добавленной строке, чтобы вывести сообщение в командной
строке. — наименование стандартного потока вывода, и здесь вы пишете

строку в стандартное устройство вывода . Все, что на-

ходится между парой двойных кавычек, выводится программой в командной строке.


46 Глава 1

 

Сборка решения

Чтобы построить решение, нажмите клавишу <F7> или выберите пункт меню

. Альтернативно вы можете щелкнуть
на кнопке в панели инструментов, соответствующей этому пункту меню. Кнопки пане-
ли для меню Build могут не отображаться, но вы легко исправите это, щелкнув правой
кнопкой мыши в области панелей инструментов и выбрав панель Build в выпадающем
меню. После этого программа должна успешно скомпилироваться. Если будут какие-то
ошибки, проверьте внимательно две строки, которые вы добавили в исходный код.

Файлы, создаваемые при сборке консольного приложения

После того, как пример собран без ошибок, загляните в папку проекта, используя
Windows Explorer, чтобы увидеть новую вложенную папку по имени Debug. Эта папка
содержит вывод только что выполненной вами сборки проекта. Обратите внимание,
что в ней находится несколько файлов.

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

 

 


 

Отладочная (Debug) и рабочая (Release) версии программы

Вы можете установить широкий диапазон разнообразных опций проекта, выбрав
пункт меню . Эти опции опре-

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


Программирование в Visual С++ 2005 47

 

проекта, Visual С++ 2005 автоматически создает конфигурации для построения двух
версий вашего приложения. Одна из них, называемая отладочной (Debug), включает
информацию, помогающую в отладке программы. Если что-то идет не так, то, запуская
эту версию, вы можете выполнять код программы построчно, проверяя значение дан-
ных, с которыми работает программа. Другая версия, называемая рабочей (Release),
не имеет в себе никакой отладочной информации и содержит оптимизированный
компилятором машинный код, что позволяет обеспечить максимальную эффектив-
ность исполняемого модуля. Этих двух конфигураций будет достаточно для всех при-
меров, которые мы рассмотрим в книге, но когда вам понадобится настроить другую
конфигурацию приложения, вы можете сделать это через меню

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

Вы можете выбирать текущую конфигурацию программы, с которой собираетесь
работать, указывая ее в выпадающем списке Active solution configuration (Активная
конфигурация решения) в диалоговом окне Configuration Manager (Диспетчер кон-
фигурации), как показано на рис. 1.11.

Рис. 1.11. Выбор текущей конфигурации программы

Выберите в списке конфигурацию, с которой собираетесь работать, и затем щел-
кните на кнопке Close (Закрыть). В процессе разработки приложения вы будете ра-
ботать с отладочной конфигурацией. После того как приложение тщательно проте-
стировано в отладочной конфигурации, и вы убедились, что оно работает правильно,
обычно вы пересобираете его в рабочей конфигурации; это порождает оптимизиро-
ванный код без возможностей отладки и трассировки, в результате чего программа
работает быстрее и требует меньше памяти.

Выполнение программы

После успешной компиляции и компоновки решения вы можете выполнить про-
грамму, нажав . При этом вы должны увидеть окно, показанное на рис. 1.12.


48 Глава 1

Рис. 1.12. Выполнение консольной программы

Как видите, в командной строке выводится текст, заключенный в двойные кавыч-
ки в исходном коде. Фрагмент , который указан в конце текста — это специаль-
ная последовательность, которая называется управляющей последовательностью и
означает символ новой строки. Управляющие последовательности служат для пред-
ставления символов в текстовой строке, которые невозможно непосредственно вве-
сти с клавиатуры.

Предыдущий проект содержит в себе некоторый излишний багаж, который не ну-
жен при работе с простыми примерами на С++. Опция предварительной компиляции
заголовков, выбранная по умолчанию, приводит к созданию в проекте заголовочного
файла stdafx.h. Это механизм, повышающий эффективность процесса компиляции,
когда программа состоит из большого количества файлов, но не являющийся необхо-
димым для большинства наших примеров. В их случае вы будете начинать с пустого
проекта, к которому станете добавлять свои собственные исходные файлы. Теперь
вы увидите, как это делается, создав новый проект и новое решение консольной про-
граммы Win32 по имени Ext 102. После того, как вы введете имя проекта и щелкнете
на кнопке ОК, выполните щелчок на Application Settings (Настройки приложения) в
правой части следующего диалогового окна. Затем вы можете выбрать Empty project
(Пустой проект) в дополнительных опциях, как показано на рис. 1.13.

Когда вы щелкнете на кнопке Finish (Готово), как и ранее, будет создан проект, но
на этот раз — без каких-либо файлов.

После этого добавьте в проект новый исходный файл. Щелкните правой кнопкой
мыши на панели Solution Explorer и выберите в контекстном меню пункт
Item (Добавить1^ Новый элемент). Появится диалоговое окно; щелкните на элементе
Code (Код) в правой панели и на С++ File (.срр) (Файл С++ (.срр)) — в левой. Введите
имя Extl_02, как показано на рис. 1.14.

Когда вы щелкнете на кнопке Add (Добавить), новый файл добавится в проект и
отобразится в окне редактора. Конечно, файл будет пустым, и в нем ничего не ото-
бразится; в окне редактора введите приведенный ниже код.


Дата добавления: 2015-11-04; просмотров: 27 | Нарушение авторских прав







mybiblioteka.su - 2015-2024 год. (0.028 сек.)







<== предыдущая лекция | следующая лекция ==>