
Лаб по С и С++ / Лабораторная№1 ПроектWin32 Console Application
.docЛабораторная работа №1
Тема: Проект Win32 Console Application
Цель работы: научиться создавать консольное приложение в среде VC , научиться пользоваться системой отладки приложений, написать линейную программу на языке С.
Чтобы плавно войти в курс дела, не испытывая стресс от обилия файлов, следует выполнить действия, описанные в этом разделе, для создания самого простого типа проекта. Первая программа под именем One преследует две цели: ознакомиться со студией разработчика и научиться пользоваться встроенным в нее отладчиком. Для этого не нужно использовать графический интерфейс Windows, и мы выбираем тип проекта Win32 Console Application. Выполните следующую последовательность действий:
-
Выберите в меню команду File ► New ► Projects.
-
В появившемся окне диалога в поле Project Name задайте имя проекта: One1
-
Выберите месторасположение папки с проектом (в поле Location:).
-
Выберите тип проекта Win32 Console Application и нажмите ОК.
-
Согласитесь с выбором An empty project (только в версии 6.0 и выше).
-
Подтвердите выбор, нажав ОК.
Фокус переходит в окно Workspace при активной вкладке FileView. Если ваша программа создается с нуля (from scratch), то нажмите кнопку New Text File на стандартной панели инструментов (standard toolbar) или File ► New ► Files► Text File
Включение и выключение какой-либо из панелей инструментов осуществляются с помощью правой кнопки мыши, когда ее указатель расположен над пустым окном редактора текста, пустым местом строки меню или панели инструментов. Команду, связанную с той или иной кнопкой панели, можно легко узнать по всплывающей подсказке (ToolTip).
В появившееся справа окно редактора текста можно ввести любой текст, в том числе и коды программы. В этом состоянии обычно поступают так:
-
в текстовом редакторе набирают коды;
-
сохраняют их в файле с произвольным именем и расширением .с или .срр;
-
включают программу в проект.
Для практики введите следующие коды:
#include <iostream.h>
#include<math.h>
void main()
{
double d;
float f;
long l;
int i;
i = l = f = d = 100/3;
d = f = l = i = 100/3;
l = l = f = d = 100/3.;
d = f = l = i = (double)100/3;
cout<<"int="<<sizeof(int)<<"\tmax="<<pow(2,8*sizeof(int))/2<<"\n";
cout<<"long="<<sizeof(long)<<"\tmax="<<pow(2,8*sizeof(long))/2<<"\n";
cout<<"float="<<sizeof(float) <<"\tmax="<<pow(2,8*sizeof(float))/2<<"\n";
cout<<"double="<<sizeof(double) <<"\tmax="<<pow(2,8*sizeof(double))/2<<"\n";
cout<<"char="<<sizeof(char) <<"\tmax="<<pow(2,8*sizeof(char))<<"\n";
}
Сохраните файл под именем One1.срр. Вы обратили внимание на то, как изменился облик текста после того, как изменился тип файла? Редактор текста показывает нам, как будут восприняты компилятором ключевые слова языка C++.
Многие ошибки ввода можно обнаружить благодаря такому форматированию текста на ранней стадии (до компиляции). Полезно также позволить редактору текста отформатировать ваш текст. Для этого выделите его (Ctrl+A) и выберите Edit ► Advanced ► Format Selection. Для подключения файла к проекту выполните следующие действия: •
-
Откройте страницу FileView в окне Workspace.
-
Разместите указатель мыши над строкой One1 files. Включите правой кнопкой контекстное меню и выберите команду Add Files to Project.
-
Укажите на ваш файл One.срр и подтвердите выбор.
Элемент One files окна Workspace при этом изменяет свой облик. Теперь его можно раскрыть (expand) и увидеть имена файлов, подключенных к проекту. Откройте и проинспектируйте вкладку ClassView, с которой обычно работают наиболее интенсивно. В данный момент она содержит скудный набор элементов, сообщая вам, что в проекте существует лишь одна глобальная функция — main.
ЗАМЕЧАНИЕ -------------------------------------------------------------------------------------------------
Распространенной ошибкой является ситуация, когда в окне редактора отображен один файл, а к проекту подключен какой-то другой, возможно, с тем же именем, но из другого каталога. Чтобы быть уверенным, что вы видите именно то, что будет компилироваться, следует выполнить двойной щелчок на имени функции (в данном случае main) в окне ClassView.
______________________________________________________________________
Теперь можно работать с проектом. Самый быстрый способ запуска программы — с помощью команды Build ► Execute или Build ► Start Debug ► Go. Конечно (для еще большего ускорения), следует пользоваться комбинациями клавиш быстрого доступа (shortcut keys) — Ctrl+F5 или F5. Отдав команду, вы должны увидеть сообщение (message box) о том, что не существует файл One1.exe или One1.obj во вновь созданной папке Debug (эта конфигурация проекта выбрана по умолчанию). Согласитесь с предложением создать эти файлы.
ЗАМЕЧАНИЕ -------------------------------------------------------------------------------------------------
Теперь ваше внимание должно сосредоточиться на появившейся странице Build в окне Output (внизу экрана) — сюда компилятор и компоновщик выводят свои сообщения._______________________________________________________
Если вы при вводе не внесли ошибок, то должны увидеть сообщения об этом
Сейчас мы рассмотрим, как выполнить программу в режиме пошаговой отладки, но пока заметим, что она не содержит функций вывода и поэтому после запуска (Ctrl+F5) в окне приложения One1.exe ничего, кроме сообщения, не появится. Видно, что это окно такое же, как и любое другое окно DOS-приложения, но если запустить программу в среде DOS, то будет выдано сообщение о том, что One1. ехе является приложением для Windows. Теперь вы имеете представление о консольных приложениях Windows, которые не используют GUI (Graphical User Interface) — графический интерфейс пользователя.
Выполнение приложения в режиме отладки
В предыдущем разделе мы создали новый файл с исходным кодом и подключили его к проекту One1. Аналогичные действия следует выполнять, в случае если программа уже существует и хранится в файле:
-
В окне Workspace над значком One1 files вызовите контекстное меню.
-
Выберите Add Files to Project или (через главное меню): Project ► Add To Project ► Files.
-
Найдите ваш файл (или файлы), который надо включить в проект.
-
Подтвердите выбор (нажмите ОК).
Компиляция, компоновка и запуск приложения в Microsoft Developer Studio совершаются с помощью команд, выбираемых из меню Build, или с помощью комбинаций клавиш (shortcuts). Самым быстрым способом выполнить проект является нажатие комбинации клавиш Ctrl+F5 (Execute) и подтверждение готовности создать (build) исполняемый файл One1.exe. Выполнение Debug-версии проекта в пошаговом режиме осуществляется с помощью следующих клавиш:
-
F10 — без захода в вызываемые функции (Step Over);
-
Fll — с заходом в вызываемые функции (Step Into).
Именно это мы и рекомендуем вам проделать сейчас. Поставьте фокус в окно редактора и нажмите клавишу F10. Приложение запускается в режиме пошаговой отладки, пункт меню Build заменяется на Debug, и появляются два новых окна для просмотра текущего содержимого переменных программы (удобно пользоваться как тем, так и другим):
-
в окне Variables набор наблюдаемых переменных выбирается отладчиком;
-
в окне Watch набор переменных или выражений вы выбираете сами.
-
Массивы, объекты классов и структуры можно «раскрывать» (expand). Переход в окно выполняемого приложения выполняется обычным способом — нажатием комбинации клавиш Alt+Tab. Каждое нажатие клавиши F10 приводит к выполнению одной строки программы. Указатель в окне редактора опережает события и устанавливается на ту строку, которую еще предстоит выполнить. Нажмите клавишу F10 еще раз — указатель перемещается на первую строку с выполнимыми операторами. Посмотрите в окно Variables. Здесь высвечены текущие значения переменных.
Выполните все строки программы, нажимая клавишу F10 и каждый раз объясняя себе те значения, которые вы наблюдаете в окне Variables. Если вы не можете объяснить наблюдаемые значения, то следует сначала прочесть и хорошо проработать материал, приведенный в Приложении, и затем вновь возвратиться к изучению этой главы.
Останавливать отладку следует командой Stop Debugging (Shift+F5). При ее продолжении (после выполнения последнего оператора программы) вы на короткое время попадаете в системную функцию mainCRTStartup, а затем весь процесс повторяется. Опробуйте клавишу F11, которая служит для пошагового выполнения с заходом в вызываемые функции. Она позволяет пройтись по многим системным функциям, и ее можно рассматривать как некоего гида по коду, написанному разработчиками системы. Без сомнения, таким образом можно многое увидеть, многое понять и многому научиться, так что советую запомнить этот способ перемещения по кодам (однако очень важно не изменить коды). Он просто необходим, когда вы хотите попасть внутрь своей функции, вызов которой находится в текущей строке отладчика.
Ошибки, обнаруженные на этапах компиляции и компоновки, выводятся в окно Output. Мгновенный переход в файл с текстом программы (к строке с ошибкой) происходит при двойном щелчке на строке с сообщением об ошибке. Это справедливо для ошибок, обнаруженных на этапе компиляции. Многие ошибки на этапе компоновки (linking) могут быть исправлены изменением настроек проекта (Project ► Settings..,). Управлять видимостью служебных окон на экране удобно с помощью трех кнопок: Workspace, Output и Window List (пользуйтесь ToolTip), расположенных на стандартной панели управления. Опробуйте их и не забывайте использовать для увеличения площади окна редактора. Для этой же цели рекомендуем вместо множества существующих панелей инструментов создать одну свою, оснастить ее теми кнопками, которые вы чаще всего используете, и, возможно, даже разместить ее в продолжении строки меню.
Эти действия легко выполнить с помощью команды Tools ► Customize > Toolbars ► Menu bar. Флажки в окнах позволяют включать и выключать панели инструментов. Включайте их по очереди и перетаскивайте с них вес поправившиеся кнопки прямо в строку меню. Чтобы установить разделители (для групп кнопок), слегка потяните кнопку вправо и отпустите. Слева от кнопки появится разделитель. Чтобы не портить существующие панели, при перетаскивании кнопок держите нажатой клавишу Ctrl. Если все-таки испортили, то выделите испорченную панель (сделайте ее синей) в окне Toolbars и нажмите кнопку Reset. Все удивительно просто и удобно. Поработав со своими настройками Workspace, вы больше не будете заботиться о восстановлении выбранного интерфейса. Студия разработчика запомнит настройки и не будет (при переключении режимов работы) автоматически создавать ненужные вам панели инструментов.
Контрольные вопросы: