|
Программирование >> Динамические структуры данных
Многофайловые проекты Никаких особых усилий при создании многофайловых проектов вам прилагать не придется: разработчики Developer Studio уже обо всем позаботились. Надо будет просто несколько раз повторить процедуру создания/добавления исходных файлов, описанную выше. В многофайловых проектах обычно присутствуют и заголовочные файлы - они создаются/добавляются после щелчка правой кнопкой мыши на пиктограмме папки Header Files в окне Project Workspace; при этом на вкладке Files диалогового окна New выбирается тип файла C/C++ Header File, а при вводе имени файла используется расширение .h. ПРИМЕЧАНИЕ - Папки Source Files и Header Files, пиктограммы которых вы видите в окне Project Workspace, на самом деле физически не существуют, то есть все файлы помещаются в основную папку рабочей области проекта, имя которой было задано при создании проекта в окне Япэ/есЛ/1ате. Но, согласитесь, такое упорядочение дерева списка файлов в окне Project Workspace очень удобно. Компиляция, компоновка и выполнение проекта Эти операции могут быть выполнены или через меню Build главного окна, или с помощью кнопок панели инструментов. Опишем кратко основные команды меню Build: □ Compile - компиляция выбранного файла. Результаты компиляции выводятся в окно Output. □ Build - компоновка проекта. Компилируются все файлы, в которых произошли изменения с момента последней компоновки. После компиляции происходит сборка (link) всех объектных модулей, включая библиотечные, в результирующий исполняемый файл. Сообщения об ошибках компоновки выводятся в окно Output. Если обе фазы компоновки завершились без ошибок, то созданный исполняемый файл с расширением .ехе может быть запущен на выполнение. □ Rebuild AIL - то же, что и Build, но компилируются все файлы проекта независимо от того, были ли в них произведены изменения. СОВЕТ- Если при компоновке многофайлового проекта посредством команды Build вы получаете сообщения об ошибках компиляции или сборки, которые вы не можете объяснить, то мы настоятельно рекомендуем вам воспользоваться командой Rebuild All. □ Execute - выполнение исполняемого файла, созданного в результате компоновки проекта. Операции Compile, Build и Execute удобнее выполнять через соответствующие кнопки t панели инструментов Build Mini Bar, которая в увеличенном виде показана на i рис. П1.4. Compile(arl + F7) Build( F7) Execute Program{Ctrl + F5) Go( F5) Insert/Remove Breakpoint (F9 ) Рис. П1.4. Панель инструментов Build MiniBar Чтобы пощелкать по этим кнопкам, вернемся к нашему проекту First Откомпилируйте проект, щелкнув на кнопке Build (F7). Диагаостические сообщения компилятора и сборщика отображаются в окне вывода Output. Мы надеемся, что у вас все будет в порядке* и последняя строка в окне вывода будет выглядеть так: First.exe - О error(s). О warning(s) Теперь запустите приложение на выполнение, щелкнув на кнопке Execute Program (Ctrl+F5). Появится окно приложения First, изображенное на рис. П1.5. Н*1сояв to С++ Г Ent r the string: Рис. П1.5. Консольное окно приложения First.exe На приглашение ввести строку введите любую строку, например Hello. World!, и нажмите Enter. Программа должна вывести на экран то, что показано на рис. П1.6. Мы не будем здесь разбираться, почему профамма вывела обрезанную строку Hello,. Для этого есть Учебник (см. с. 268), кроме того, проблема ввода-вывода строк рассматривается на семинаре 5. Попробуйте заменить в программе оператор вывода cout Welcome to С++ ! endl: следующим оператором: cout Добро пожаловать в С++ ! endl: в противном случае тщательно сличите набранный вами текст с приведенным в книге. Uelcome to С++ f Ent r the string: Hello, world! The ualue strl = Hello. Prees any key to continue. Рис. П1.6. Вид окна после ввода строки Откомпилируйте (точнее говоря, скомпонуйте) программу и запустите ее на выполнение. Результат будет настолько безобразным, что рисунок-копию экрана мы здесь приводить не станем. Проблемы с вводом-выводом кириллицы Работа в среде Visual С++ 6,0 (в режиме консольных приложений) сопряжена с определенными неудобствами, вызванными различными стандартами кодировки символов кириллицы в операционных системах MS DOS и Windows. Этот вопрос подробно рассматривается на семинаре 1. Здесь мы только напомним, что весь ввод-вывод в консольном окне идет в кодировке стандарта ASCII, а текст в исходных файлах, набираемый в текстовом редакторе Visual С++, имеет кодировку в стандарте ANSI. Поэтому для нормального вывода строки, содержащей буквы русского алфавита, эту строку надо сначала пропустить через функцию CharToOemC), а уже потом отправлять на консольный вывод. Аналогично, если в программе есть консольный ввод текста и этот текст в дальнейшем надо сохранять в документах (файлах) с кодировкой ANSI, то перед сохранением его надо пропустить через функцию OemloCharO. С учетом сказанного выше можно предложить следующую адаптацию нашей первой программы к местным (российским) условиям: IIIIIIIIIIIllllllllll1111IIIIIIIIIIIIIIIIII III IIIllllllllll #include <iostream.h> #1 nclude <windows.h> char* Rus(const char* text): int main(){ char strl[80]: cout Welcome to С++ ! endl: cout Rus( Добро пожаловать в С++ ! ) endl: cout Enter the string: endl: cout Rus( Введите строку: ) endl: cin strl: cout The value strl.= endl: cout Rus( Значение строки strl = ) endl; cout strl endl: return 0: / char bufRus[256]: char* Rus(const char* text) { Cha rToOem(text. bufRus): return bufRus: / Ничего не принимайте на веру. Немедленно, прямо сейчас (!) откомпилируйте эту программу и убедитесь, что она дает ожидаемый результат. Конфигурация проекта Visual С++ позволяет строить проект либо в отладочной конфигурации (Win32 Debug), либо в выпускной конфигурации (Win32 Release). Мы рекомендуем вам всегда работать с проектами в отладочной конфигурации. Обычно она установлена по умолчанию. Все же не мешает проверить, с какой конфигурацией на самом деле идет работа. Для этого выбе]рите в меню Project пункт Settings... Откроется диалоговое окно Project Settings. Проверьте, какое значение установлено в окне комбинированного списка Settings For:.. Если это не Win32 Debug, то переключитесь на нужное значение через команду меню Build ► Set Active Configuration... Как закончить работу над проектом Можно выбрать меню File, пункт Close Workspace. А можно просто закрыть приложение Visual С++. Как открыть проект, над которым вы работали ранее 1. Способ первый: Запустите на выполнение Visual С++. Выберите меню File, пункт Open Workspace... В открывшемся диалоговом окне найдите папку с вашим проектом, а в ней - файл ProjectName.dsw. Откройте этот файл, щелкнув по нему мышью. 2. Способ второй: Запустите на выполнение Visual С++. Выберите меню File, наведите курсор мыши на пункт Recent Workspaces. Если в появившемся меню со списком последних файлов, с которыми шла работа, вы найдете интересующий вас файл ProjectName.dsw, то щелкните по нему мышью. 3. Способ третий: Не вызывая Visual С++, найдите папку с вашим проектом, а в ней - файл ProjectName.dsw. Щелкните мышью на файле ProjectName.dsw. Встроенная справочная система в IDE Visual С ++ имеется обширная справочная система, доступная через меню Help главного окна. Кроме этого, очень удобно пользоваться интерактивной справкой: если вы находитесь в окне Editor, поставьте текстовый курсор на интересующий вас оператор или библиотечную функцию С++ и нажмите клавишу F1. Тотчас будет вызвана справочная система MSDN с предоставлением необходимой информации. Если запрошенный термин встречается в разных разделах MSDN, то сначала появится диалоговое окно Найденные разделы . В списке разделов выберите тот, в котором упоминается Visual С++ . Работа с отладчиком Полное описание возможностей встроенного отладчика Visual С++ и приемов работы с ним может потребовать отдельной книги, настолько объемна эта тема. Поэтому мы дадим только начальные сведения о работе с отладчиком Visual С++. Проще всего это сделать, написав программу, заведомо содержащую несколько ошибок, а затем показав, как с помощью отладчика можно найти и исправить эти ошибки. В частности, мы научимся устанавливать в профамме точки прерывания и выполнять ее до заданной точки. Когда во время выполнения встречается точка прерывания, профамма останавливается, а на экране появляется отлаживаемый код. Это дает возможность детально выяснить, что происходит в профамме. Кроме того, профамму можно выполнять последовательно, сфоку за строкой - такой процесс называется пошаговым выполнением. Этот режим позволяет следить за тем, как изменяются значения различных переменных. Иногда он помогает понять, в чем заключается проблема: если обнаруживается, что переменная принимает неожиданное значение, то это может послужить отправной точкой для выявления ошибки. После обнаружения ошибки ее можно исправить и выполнить программу заново в отладочном режиме. Назовем нашу программу (проект) именем Buggy. Профамма должна вычислять среднее арифметическое первых пяти натуральных чисел: 1-5. Нетрудно догадать- ся, что ответ должен быть равен 3, однако из-за специально сделанных ошибок профамма первоначально будет выдавать неправильный ответ. Для создания программы выполните следующие действия: □ Создайте проект типа консольное приложение с именем Buggy. □ Добавьте к проекту файл buggy.cpp и заполните его следующим текстом: finclude <iestream.h> int main(){ const N - 5: int a[N] - {1. 2. 3. 4. 5}: float sum. average: int i: for (i - 1: i < N: i++) sum +- aCi]: average - sum / N: cout average - average endl: return 0: □ Откомпилируйте проект. □ Запустите программу на выполнение. Вы должны увидеть в консольном окне приложения нечто вроде следующего результата: average - -2.14748еь007. т. е. программа вычислила, что среднее арифметическое первых пяти целых чисел равно -21474800 (на вашем компьютере может быть и другое число), а это мало похоже на число 3.0. Начнем отладку нашей злополучной профаммы. Установка точки прерывания Точка прерывания позволяет остановить выполнение профаммы перед любой выполняемой инструкцией (оператором) с тем, чтобы продолжать выполнение программы либо в пошаговом режиме, либо в непрерывном режиме до следующей точки прерывания. Чтобы задать точку прерывания перед некоторым оператором, необходимо установить перед ним текстовый курсор и нажать клавишу F9 или щелкнуть мышью на кнопке Insert/Remove Breakpoint на панели инсфументов Build MiniBar. Точка прерывания обозначается в виде коричневого кружка на левом поле окна редактирования. Повторный щелчок на указанной кнопке снимает точку прерывания. В профамме может быть несколько точек прерывания. При условии установки Visual Studio в полном объеме, включая справочную систему MSDN. Пожалуйста, закройте глаза на ошибки, если вы сразу увидите их в тексте программы. Приводимый пример несложен и пре/шазначен только для изучения возможностей отладчика. На вашем компьютере цвет кружка может быть несколько иным.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |