Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Язык программирования C++ (Практикум, часть 1).doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
5.28 Mб
Скачать

234

ЯЗЫК ПРОГРАММИРОВАНИЯ C++

Практикум для слушателей

по специальности «Информационная безопасность телекоммуникационных систем»

Часть 1

УК №

М о с к в а 2014

Практическое занятие 1. Работа в среде Microsoft Visual Studio

Microsoft Visual Studio (MVS) – это интегрированная среда разработки (Integrated Development Environment – IDE) корпо­рации Microsoft для создания, документирования, запуска и от­ладки программ, написанных на различных языках программиро­вания. MVS – мощный инструмент, который позволяет разраба­тывать сложные программные комплексы, имеющие множествен­ные типы взаимодействия с пользователем в виде различных диалоговых окон, панелей инструментов, меню, кнопок, списков и т.п. Эти программы обеспечивают графический пользователь­ский интерфейс (GUI) и называются оконными приложениями (или Windows-приложениями).

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

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

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

Решение (solution) – это виртуальный контейнер высшего уровня, представляющий механизм для объединения программ и других ресурсов (текстовых документов, диаграмм проектов и т.д.), которые предназначены для решения определенной пробле­мы, связанной с обработкой данных. Решению соответствует папка, в которой собрана информация об одном или более проектах в виде папок, вложенных в папку решения. Решение не может содержать внутри себя другие решения. При создании проекта новое решение создаётся автоматически (если только проект не добавляется к уже существующему решению). Когда создано решение с проектом, позднее к этому же решению можно добавлять другие проекты. Группирование проектов в одно решение позволяет работать с ними в одном экземпляре MVS.

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

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

- файл с расширениями .suo, содержащий установки, выбранные пользователем для решения;

- файл с расширением .ncb, содержащий данные Intellisense для решения (Intellisense – это средство, обеспечивающее авто­матическое завершение и вывод конструкций исходного кода в окне редактора).

Компиляцией программы называется преобразование компилятором (входящим в состав VisualStudio) исходного текста программы, написанного на языке программирования (например, на С или С++), в объектный файл.

Объектный файл (object file, объектный модуль) – файл с промежуточным представлением отдельного модуля программы, полученный в результате обработки исходного кода компилято­ром. Объектный файл содержит в себе особым образом подготов­ленный (бинарный) код, который обрабатывается компоновщи­ком.

Компоновщикредактор связей (link editor, linker) – программа, которая производит компоновку проекта (принимает на вход один или несколько объектных модулей и собирает по ним готовый исполняемый файл).

Исполняемый (исполнимый) файл (executable file, испол­нимый модуль) – это файл, который готов к непосредственному исполнению компьютером.

В процессе создания исполняемого файла программы на С/С++ можно выделить два этапа: компиляцию и компоновку (рис.1.1). Исходный текст программы содержится в файле *.cpp. Препроцессор, выполнив соответствующие директивы, сформи­рует полный текст программы – единицу трансляции (translation unit). Компилятор создаст объектный файл, выбрав (по умолча­нию) для него имя *.obj. Компоновщик дополнит программу библиотечными функциями и построит исполняемый модуль с именем *.exe, который можно запускать на исполнение.

Рис. 1.1 Схема подготовки исполняемого модуля

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

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

.exe – исполняемый файл программы (создаётся только в случае успешной компиляции и компоновки);

.obj – объектные файлы, генерируемые компилятором и содер­жащие машинный код исходных файлов программы (используются компоновщиком вместе с библиотечными файлами для создания исполняемого файла .exe);

.ilk – файл, используемый компоновщиком при перестройке проекта (он позволяет компоновщику инкрементно связы­вать объектные файлы, сгенерированные компилятором из модифицированного исходного кода в существующий исполняемый файл .exe; благодаря этому нет необходи­мости заново выполнять всю компоновку при каждом изменении программы);

.pdb – файл с отладочной информацией, используемой при вы­полнении программы в режиме отладки (в этом режиме можно динамически инспектировать информацию, генерируемую исполняющейся программой);

.idb – файл, содержащий информацию, необходимую для пере­стройки всего решения.

Создание исходного файла с программой на языке C++, его компиляция и запуск из командной строки

  1. Для открытия окна Командная строка VisualStudio нажмите кнопку Пуск, последовательно выберите пункты: Все программы, MicrosoftVisualStudio, VisualStudioTools (Средства VisualStudio), VisualStudioCommandPrompt (Командная строка VisualStudio).

  1. Для запуска текстового редактора Блокнот в командной строке введите имя запускаемого файла (notepad) и нажмите клавишу <Enter> (ВВОД).

  1. В открывшемся окне редактора Блокнот создайте текст программы:

// Листинг 1.1

#include <iostream>

using namespace std;

int main() {

cout << "My first program!\n";

return 0;

}

  1. В меню Файл текстового редактора выберите пункт Со­хранить как. Допустим, файл с программой должен иметь имя pr1.cpp и находиться в папке C:\Cprograms. В окне Сохранить как перейдите на диск C: и откройте папку Cprograms. В поле Имя_файла введите pr1.cpp, в поле Тип_файла установите Все файлы и нажмите кнопку Сохранить.

  1. Для перехода в папку Cprograms в командной строке введите: cd \Cprograms и нажмите <Enter>. Для компиляции программы запустите компилятор cl, для этого в командной строке введите: cl pr1.cpp и нажмите <Enter>.

Если в программе содержатся ошибки, компилятор выдаст соответствующие сообщения. Например, если не поставить символы “;”в конце строк с операторами функции main(), будут выведены следующие сообщения об ошибках в строках с номерами 5 и 6:

Если программа откомпилирована без ошибок, продолжаем.

  1. Для вывода на экран содержимого папки Cprograms в командной строке ведите команду dir и нажмите клавишу <Enter>.

В папке Cprograms находятся три файла: pr1.cpp – файл с текстом программы, pr1.obj – объектный файл, pr1.exe – исполняемый файл.

  1. Чтобы запустить программу pr1.exe, введите её имя pr1 и нажмите клавишу <Enter>.

На экране отображается результат работы программы:

Примечание: Компилятор cl распознаёт не только расши­рение .cpp файлов с текстами программ на языке С++, а также расширения .cc и .cxx.