Паппас К., Мюррей У. - Visual C++ 6. Руководство разработчика - 2000
.pdfDebug
На вкладке Debugможно указать местонахождение исполняемого файла и рабочей папки, задать аргументы командной строки, а также путь и имя удаленного исполняемого файла на сетевом диске. Кроме того, в списке Category можно выбрать элемент AdditionalDLLs, предназначенный для задания дополнительных библиотек динамической компоновки (DLL).
C/C++
Вкладка C/C++ содержитследующиекатегорииопций: General, C++ Language, Code Generation, Customize, Listing Files, Optimizations, Precompiled Headers и Preprocessor. В
поле ProjectOptions отображается командная строка проекта.
General
Опции категории Generalпозволяют установить уровень контроля за ошибками (список Warninglevel), указать, какую отладочную информацию следует включать (список Debuginfo), выбрать тип оптимизации при компиляции (список Optimizations) и задать директивы препроцессора (поле Preprocessordefinitions).
C++ Language
Опции категории C++ Languageпозволяют выбрать способ представления указателей на члены классов (группа Pointer-to-member representation), включить обработку исключительных ситуаций (Enable exception handling), разрешить проверку типов объектов на этапе выполнения (EnableRun-timeTypeInformation) и запретить замещение конструкторов при вызове виртуальных функций (Disableconstructiondisplacements).
CodeGeneration
Опции категории CodeGeneration позволяют задать тип процессора, на который должен ориентироваться компилятор (список Processor), выбрать тип соглашения о вызовах функций (список Callingconvention), указать тип компоновки динамических библиотек (список Useruntimelibrary) и установить порядок выравнивания полей структурированных переменных (список
Structmemberalignment).
Customize
Вкатегории Customize можно задать следующие опции:
•Disablelanguageextensions (компиляция производится в соответствии с правилами
ANSIС, а не MicrosoftС);
•Enablefunction-levellinking (функции при компиляции обрабатываются особым образом, что позволяет компоновщику упорядочивать их и исключать неиспользуемые);
•Eliminateduplicatestrings(в таблицу строк модуля не включаются повторяющиеся строки);
•Enableminimalrebuild(позволяет компилятору обнаруживать изменения в объявлениях классов C++ и выявлять необходимость повторной компиляции исходных файлов);
•Enableincrementalcompilation(дает возможность компилировать только те функции, код которых изменился с момента последней компиляции);
•Suppressstartupbannerandinformationmessages(в процессе компиляции запрещается вывод сообщения с информацией об авторских правах и номере версии компилятора).
ListingFiles
Опции категории ListingFiles позволяют задавать сведения, необходимые для создания SBRфайла (группа Generatebrowseinfo), который используется при построении специальной базы
11
данных с информацией о всех классах, функциях, переменных и константах программы. Кроме того, в этой категории можно указать, следует ли создавать файл с ассемблерным кодом программы, какого он должен быть типа и где располагаться (список Listingfiletype и поле
Listingfilename).
Optimizations
Опции категории Optimizationsпозволяют устанавливать различные параметры оптимизации программного кода (список Optimizations). Также можно указать, каким образом следует выполнять макроподстановку функций (список Inlinefunctionexpansion).
PrecompiledHeaders
Опции категории PrecompiledHeaders определяют, следует ли использовать файлы предварительно скомпилированных заголовков (файлы с расширением РСН). Наличие таких файлов ускоряет процесс компиляции и компоновки. После компиляции всего приложения эти файлы следует удалить из папки проекта, поскольку они занимают очень много места.
Preprocessor
Опции категории Preprocessor позволяют задавать параметры работы препроцессора. Здесь же можно указать дополнительные папки для включаемых файлов заголовков (поле Additional #include directories), а также установить опцию Ignore standard include paths, которая служит указанием игнорировать папки, перечисленные в переменных среды PATHили INCLUDE.
Link
Вкладка Link содержит опции пяти категорий: General, Customize, Debug, Inputи Output.
General
Вкатегории General в поле Outputfilename можно задать имя и расширение выходного файла. Как правило, для файла проекта используется расширение ЕХЕ. В поле Object/librarymodules указываются объектные и библиотечные файлы, компонуемые вместе с проектом. Также могут быть установлены следующие опции:
•Generatedebuginfo(в исполняемый файл включается отладочная информация);
•Linkincrementally(частичная компоновка; эта опция доступна, если в категории
Customize установлен флажок Useprogramdatabase);
•Enableprofiling(в исполняемый файл включается информация для профилировщика);
•Ignorealldefaultlibraries(удаляются все стандартные библиотеки из списка библиотек, который просматривается компоновщиком при разрешении внешних ссылок);
•Generatemapfile(создается МАР-файл проекта).
•Customize
Вкатегории Customize можно установить такие опции:
•Linkincrementally(аналогична одноименной опции из категории General);
•Useprogramdatabase(в служебную базу данных программы помещается отладочная информация);
•Outputfilename(задает имя выходного файла);
•Printingprogressmessages(в процессе компиляций выводятся сообщения о ходе компоновки);
•Suppressstartupbanner(аналогична подобной опции категории Customize вкладки
C/C++).
12
Debug
Опции категории Debug позволяют указать, следует ли генерировать МАР-файл проекта, а также задают различные параметры отладки.
Input
Посредством опций категории Input приводится различная информация об объектных и библиотечных файлах, компонуемых вместе с проектом.
Output
Опции категории Output позволяют задать базовый адрес программы (Baseaddress), точку входа (Entry-pointsymbol), объем виртуальной и физической памяти, выделяемой для стека
(группа Stackallocations), и номер версии проекта (группа Versioninformation).
Resources
Вкладка Resources позволяет указать имя файла ресурсов (обычно это файл с расширением RES) и задать некоторые дополнительные параметры, такие как язык представления ресурсов, папки включаемых файлов и макросы препроцессора.
MIDL
Вкладка MIDL предназначена для задания различных параметров генерации библиотеки типов.
BrowseInfo
На вкладке BrowseInfo можно указать имя файла базы данных, содержащей описания классов, функций, констант и переменных программы.
CustomBuild
Вкладка CustomBuild предназначена для задания дополнительных команд компиляции, которые будут выполняться над выходным файлом.
13
Глава 2. Краткое знакомство со средой Visual C++
•Запуск Visual C++
•Доступ к контекстной справке
•Вызов команд меню
•Перемещаемые панели инструментов
•Меню File
o |
New |
o |
Open |
o |
Close |
o |
Save |
o |
Save As |
o |
Save All |
o |
Page Setup |
o |
o Recent Files и Recent Workspaces
oExit
•Меню Edit
oUndo
o |
Redo |
o |
Cut |
o |
Copy |
o |
Paste |
o |
Delete |
o |
Select All |
o |
Find |
o |
Find in Files |
o |
Replace |
o |
Go To |
o |
Bookmarks |
oBreakpoints
oList Members
oType Info
oParameter Info
oComplete Word
•Меню View
oClassWizard
o Resource Symbols и Resource Includes
o |
Full Screen |
o |
Workspace |
o |
Output |
oDebug Windows
oRefresh Properties
•Меню Insert
oNew Class
o Resource
oResource Copy
oFile As Text
oNew ATL Object
•Меню Project
oSet Active Project
oAdd to Project...
o |
Dependencies |
o |
Settings |
o |
ExportMakefile |
oInsert Project Into Workspace
•Меню Build
oCompile
o |
Build |
o |
Rebuild All |
o |
Batch Build |
o |
Clean |
o |
Start Debug |
14
o |
Debugger Remote Connection. |
o |
Execute |
o |
Set Active Configuration |
o |
Configurations |
oProffle
•Меню Tools
oSource Browser
o Close Source Browser File
o |
Error Lookup |
o ActiveX Control Test Container |
|
o |
OLE/COM Object Viewer |
o |
Spy++ |
o |
MFC Tracer |
o |
Visual Component Manager |
o |
Register Control |
o |
Customize |
o |
Options |
oMacro / Record / Play
•Меню Window
oNew Window
o |
Split |
o |
Docking View |
o |
Close |
o |
Close All |
o |
Next |
o |
Previous |
o |
Cascade |
oTile Horizontally
oTile Vertically
oСписок открытых окон
•Меню Help
oContents / Search / Index
oUse Extension Help
oKeyboard Map
oTip of the Day
oTechnical Support
oMicrosoft on the Web
oAbout Visual C++
Краткое знакомство со средой VisualC++
MicrosoftVisualC++ представляет собой интегрированную среду разработки, в которой вы можете легко создавать, открывать, просматривать, редактировать, сохранять, компилировать и отлаживать все свои приложения, написанные на С или C++. Преимуществом этой среды является относительная простота и легкость в изучении.
В настоящей главе мы рассмотрим всевозможные команды и опции меню, имеющиеся в распоряжении пользователя, а в главе 3 перейдем непосредственно к работе в среде
VisualC++.
ЗапускVisual C++
Запуск оболочки VisualC++ не составит для вас труда. На рис. 2.1 представлено начальное окно с произвольно выбираемым советом дня, которое открывается при этом.
Доступ к контекстной справке
Доступ к справочной системе VisualC++ облегчен благодаря тому, что вся информация предоставляется в интерактивном режиме. Чтобы получить справку, достаточно навести указатель на интересующий вас инструмент и нажать клавишу [F1].
15
Рис 2.1.
Следует отметить, что использование контекстной справки не ограничивается элементами интерфейса. Если вы наведете указатель на элемент программного кода C/C++ и нажмете [F1], то получите справку о синтаксисе выбранной вами конструкции.
Вызов команд меню
Прежде чем перейти к описанию отдельных команд и опций, остановимсa на некоторых моментах, общих для всех меню. Вспомним, например, о том, что существует два способа выбора команд из меню. Более распространенный из них состоит в том, что вы устанавливаете указатель мыши и щелкаете на нужных командах меню левой кнопкой мыши. Второй способ заключается в использовании клавиш быстрого вызова, которые выделяются подчеркиванием в названиях команд. Так, меню File можно раскрыть, нажав одновременно [Alt+F].
Существует еще один способ вызова отдельных команд в любой момент времени, а именно с помощью предварительно заданных "горячих" клавиш. Если для команды определено сочетание клавиш, то это сочетание будет указано в меню справа от соответствующего пункта. Например, в меню File есть команда New..., которую можно вызвать, просто нажав [Ctrl+N].
Команда меню, показанная серым цветом, является в данный момент недоступной — вероятно, отсутствуют некоторые условия, необходимые для ее выполнения. Например, команда Slave из меню File будет недоступной, если в редактор ничего не загружено. Программа "понимает", что в данный момент сохранять просто нечего, и напоминает вам об этом, отключив команду сохранения.
Если за названием команды меню следует троеточие, значит, после выбора данной команды будет открыто диалоговое окно. Например, после выбора команды Open... в меню File открывается диалоговое окно Open.
Наконец, многие команды меню представлены также кнопками на панелях инструментов и могут быть вызваны простым щелчком мыши. Панели инструментов обычно размещаются в окне программы непосредственно под строкой меню.
Перемещаемые панели инструментов
Любые панели инструментов VisualC++ можно сделать закрепленными или плавающими. Закрепленные панели инструментов фиксируются вдоль одного из четырех краев окна программы. Изменить размер такой панели вы не можете.
Плавающая панель инструментов имеет собственную строку заголовка и может находиться в любом месте. Плавающие панели всегда располагаются поверх других компонентов окна программы. Вы можете свободно изменять как размер, так и местоположение плавающих панелей инструментов.
16
•Чтобы превратить закрепленную панель инструментов в плавающую, вам необходимо выполнить такие действия:
•щелкнуть левой кнопкой мыши на свободном пространстве панели инструментов;
•удерживая кнопку мыши нажатой, перетащить панель инструментов в требуемое место.
Ачтобы закрепить плавающую панель - такие:
•щелкнуть левой кнопкой мыши на строке заголовка или свободном пространстве панели инструментов;
•удерживая кнопку мыши нажатой, перетащить панель инструментов к одному из четырех краев окна программы.
При необходимости разместить плавающую панель инструментов поверх закрепленной вы должны:
•щелкнуть левой кнопкой мыши на строке заголовка или свободном пространстве панели инструментов;
•удерживая кнопку мыши, нажать клавишу [Ctrl] и перетащить панель инструментов в нужное место.
Меню File
В VisualC++ в меню File собран стандартный для многих приложений Windows набор команд, предназначенных для манипулирования файлами (рис. 2.2).
Рис. 2.2.
New...
По команде New... открывается окно для выбора типа создаваемого файла, проекта или рабочего пространства. Именно с этой команды обычно начинается работа над новым приложением. VisualC++ автоматически присваивает название и номер каждому создаваемому файлу (но не проекту), если только вы не сделали этого самостоятельно. Нумерация файлов начинается с 1. Таким образом, первый файл всегда будет иметь имя xxxl, второй — ххх2 и т.д.
17
Здесь ххх обозначает стандартное имя, меняющееся в зависимости от типа создаваемого файла (программный файл, файл заголовков, значок, указатель мыши и т.п.).
Если вы создадите шесть файлов с именами от xxx1 до ххх6, а затем закроете файл xxx1, то при следующем выборе команды New... программа не восстановит отсутствующее название (в данном случае ххх2), но автоматически присвоит файлу следующий порядковый номер после наибольшего номера файла, открытого на данный момент. То есть в нашем случае новому файлу будет присвоено имя xxx1.
Open...
В отличие от команды New..., предназначенной для создания нового файла, команда Open...
открывает диалоговое окно, с помощью которого вы можете выбрать любой ранее сохраненный файл. Окно OpenFile имеет стандартный вид для всех приложений Windows. В случае попытки открыть уже открытый файл будет подан звуковой сигнал и показано предупреждающее сообщение.
Вторая слева кнопка на стандартной панели инструментов является альтернативой команде
Open....
Close
Команда Close предназначена для закрытия ранее открытого файла. Если у вас в настоящий момент открыто несколько файлов, данная команда закроет активное, т.е. текущее окно. Если вы по ошибке попытаетесь закрыть несохраненный файл, программа предупредит о том, что вы рискуете потерять информацию, и предложит сохранить ее прямо сейчас.
Save
Команда Saveсохраняет содержимое текущего окна в соответствующем файле. По строке заголовка окна можно определить, соответствует ли активному окну какой-нибудь файл на жестком диске. Если вы открыли новое окно и еще не сохраняли его, то в строке заголовка будет показано стандартное имя вида xxxl. При попытке сохранить информацию из окна, которому не соответствует ни один файл, автоматически будет открыто диалоговое окно
SaveAs.
Для сохранения файла можно также использовать расположенную на панели инструментов кнопку Save (третья слева). Если файл был открыт в режиме только для чтения, то команда Save будет недоступной.
SaveAs...
Команда SaveAs... позволяет сохранить содержимое окна в файле под новым именем. Предположим, вы только что закончили работу над проектом и, имея вполне работоспособную программу, хотите попытаться внести некоторые изменения. В целях безопасности текущую версию программы нужно сохранить. Для этого вы выбираете команду SaveAs и сохраняете проект под новым именем, после чего можете спокойно экспериментировать с дубликатом. Если эксперименты приведут к повреждению программы, вы всегда сможете вернуться к исходной версии.
SaveAll
Если вам никогда ранее не приходилось заниматься программированием на C/C++ в Windows95,98 или NT, то поначалу вы будете ошеломлены обилием файлов, вовлеченных в проект. Неудобство команды Save состоит в том, что она сохраняет содержимое только одного, текущего окна. С помощью команды SaveAll можно сохранить все открытые на данный момент файлы. Если содержимое каких-то окон ранее не сохранялось в файлах, то для них автоматически будет открываться окно SaveAs, где вы сможете вводить имена новых файлов.
PageSetup...
Данную команду обычно используют перед выводом файла на печать. В открывающемся при этом диалоговом окне PageSetup вы можете задать верхний и нижний колонтитулы для каждой печатной страницы, а также размеры, верхнего, нижнего, правого и левого полей страницы.
18
Команды форматирования, которые можно использовать при настройке колонтитулов, перечислены в табл. 2.1.
Таблица 2.1. Команды форматирования используемые в диалоговом окне Page Setup
Команда форматирования |
Назначение |
|
|
&с |
Центрирование текста |
|
|
&d |
Добавление текущей системной даты |
|
|
&f |
Добавление имени файла |
|
|
&1 |
Выравнивание текста по левому краю |
|
|
&р |
Нумерация страниц |
|
|
&г |
Выравнивание текста по правому краю |
|
|
&t |
Добавление текущего системного времени |
Print...
Чтобы вывести на печать содержимое активного окна, нужно выбрать из меню File команду Print.... Откроется диалоговое окно Print, в котором вы сможете установить требуемые параметры печати. Прежде всего необходимо решить, хотите вы вывести на печать все содержимое файла или только предварительно выделенную часть. Если в активном окне был выделен блок, то в окне Print станет доступной опция Selection группы PrintRange (в противном случае переключатель окажется недоступным). Если к компьютеру подключено несколько устройств вывода, вы можете выбрать нужный принтер и произвести настройку параметров печати, щелкнув на кнопке Setup.
Recent Files и Recent Workspaces
Под командой Print... находятся списки недавно открывавшихся файлов и проектов. Удобная особенность таких списков состоит в том, что они обновляются автоматически. Когда вы в первый раз запускаете VisualC++, оба списка пусты.
Exit
Команда Exit закрывает окно VisualC++. Не беспокойтесь, если вы забыли сохранить содержимое какого-нибудь файла. Программа автоматически выдаст предупреждающие сообщения для каждого несохраненного файла.
Меню Edit
Команды меню Edit (рис. 2.3) позволяют редактировать текст и проводить поиск по ключевым словам в программном коде, отображаемом в активном окне. Работа этих команд основана на тех же принципах, что и работа аналогичных команд в большинстве текстовых редакторов.
19
Рис. 2.3.
Undo
Команда Undo позволяет отменять последние выполненные операции редактирования. Данная возможность доступна также и через соответствующую кнопку стандартной панели инструментов (восьмая слева).
Redo
После того как вы отменили последнее действие с помощью команды Undo, вы можете повторить операцию, воспользовавшись командой Redo. Этой команде соответствует девятая слева кнопка стандартной панели инструментов.
Cut
Команда Cut копирует выделенный блок текста из активного окна в буфер обмена, после чего удаляет этот блок из окна. Команду Cut обычно используют в сочетании с командой Paste для перемещения блока текста из одного места в другое. На стандартной панели инструментов ей соответствует пятая кнопка слева.
Copy
Как и команда Cut, команда Сору копирует и помещает выделенный блок текста в буфер обмена, но этот блок сохраняется в активном окне. Команду Сору обычно используют в сочетании с командой Paste при необходимости скопировать блок текста из одного места в другое. Ей соответствует шестая слева кнопка стандартной панели инструментов.
Paste
Команда Paste предназначена для вставки информации из буфера обмена в текущий документ (в месторасположение текстового курсора). На стандартной панели инструментов ей соответствует седьмая слева кнопка.
20
- #13.08.201334.52 Mб91Липман С., Лажойе Ж., Му Б. - Язык программирования C++. Вводный курс - 2007.djvu
- #13.08.201347.18 Mб127Литвиненко Н.А. - Технология программирования на C++. Win32 API-приложения - 2010.djvu
- #
- #
- #13.08.201317.53 Mб103Оберг Р., Торстейсон П. - Архитектура .NET и программирование на Visual C++ - 2002.pdf
- #
- #
- #
- #
- #
- #