Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции_С++_последная.doc
Скачиваний:
40
Добавлен:
07.05.2019
Размер:
876.54 Кб
Скачать

1.2. Идеология языка

Языки С и С++ являются наиболее широко распространенными и часто используемыми языками программирования в мире. Они являются основными языками при разработке как системного, так и прикладного программного обеспечения, то есть, языками промышленной разработки. Владение ими является необходимым условием получения высокооплачиваемой работы в области информационных технологий. Язык С появился в 1972 г. благодаря усилиям двух специалистов лаборатории – Бейла Брайена Кернигана и Денниса Ритчи и быстро завоевал признание среди разработчиков всего мира. Этому способствовали его следующие характерные особенности:

Эффективность. Программы, написанные на С, обладают небольшим размером и высокой скоростью исполнения.

Лаконичность. Запись алгоритма выразительна и кратка.

Компактность. Язык содержит мало встроенных средств и ключевых слов.

Мощность. Мощность применения достигается за счет использования многочисленных библиотек.

Переносимость. Компиляторы созданы для всех операционных систем и аппаратных платформ, поэтому программу можно скомпилировать и запустить практически везде.

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

В 1981 году появился язык С++, который многие называют “С с классами“. Создатель С++ Бъярн Страуструп ввел в традиционный С средства объектного языка: классы для представления внутренней структуры объектов, механизм наследования и новые средства работы с динамической памятью и с вводом/выводом. Данные средства позволили не только писать объектно-ориентированные программы, но и создавать библиотеки шаблонов, классов, то есть расширить инструментарий программиста и сферу применения языка. В дальнейшем мы будем рассматривать С и С++ как единый язык, кроме случаев, когда необходимо подчеркнуть разницу между ними. Отметим только, что С/С++ сочетает в себе вышеперечисленные достоинства С и новые возможности С++, позволяя “изнутри“ рассмотреть принципы высокоуровневого программирования.

Язык С++ объединяет в себе средства высокоуровневого и низкоуровневого программирования. К первым можно отнести структуры, классы, механизмы наследования и позднего связывания, шаблоны.

Ко вторым традиционно относят механизм указателей, работу с битами символов, работу с механизмом прерываний. Все это делает С++ весьма привлекательным для решения широкого круга задач. В рамках нашего курса мы рассмотрим средства С++, начиная с базовых и заканчивая высокоуровневыми. Ограниченный объем занятий не позволяет рассмотреть вопросы, касающиеся библиотеки стандартных шаблонов (STL), пространства имен и ряд других новшеств языка. Эти вопросы выносятся на самостоятельную проработку.

1.3. Обзор среды Microsoft Developer Studio

Студия разработчика фирмы Microsoft (Microsoft Developer Studio) – это интегрированная среда для разработки, позволяющая функционировать различным средам разработки, одна из которых Visual C++, другая – Visual J++. В дальнейшем будет идти речь только о среде разработки Visual C++.

В среде Visual C++ можно строить различные типы проектов. Такие проекты после их создания можно компилировать и запускать на исполнение. Рассмотрим некоторые типы проектов, которые можно создавать при помощи различных средств (мастеров проектов) Microsoft Visual C++:

MFC AppWizard (exe) при помощи мастера приложений можно создать проект Windows-приложения. Он имеет однодокументный, многодокументный или диалоговый интерфейс. Однодокументное приложение может предоставлять пользователю в любой момент времени возможность работать только с одним файлом. Многодокументное приложение, напротив, может одновременно представлять несколько документов, каждый в собственном окне. Пользовательский интерфейс диалогового приложения представляет собой единственное диалоговое окно.

MFC AppWizard (dll) – этот мастер приложений позволяет создать структуру DLL, основанную на MFC. При помощи него можно определить характеристики будущей DLL.

AppWizard ATL COM – это средство позволяет создать элемент управления ActiveX или сервер автоматизации, используя новую библиотеку шаблонов ActiveX (ActiveX Template Library - ATL). Опции этого мастера дают возможность выбрать активный сервер (DLL) или исполняемый внешний сервер (exe-файл).

Custom AppWizard – при помощи этого средства можно создать пользовательские мастера AppWizard. Пользовательский мастер может базироваться на стандартных мастерах для приложений MFC или DLL, а также на существующих проектах или содержать только определяемые разработчиком шаги.

DevStudio Add-in Wizard – мастер дополнений позволяет создавать дополнения к Visual Studio. Библиотека DLL расширений может поддерживать панели инструментов и реагировать на события Visual Studio.

MFC ActiveX ControlWizard – мастер элементов управления реализует процесс создания проекта, содержащего один или несколько элементов управления ActiveX, основанных на элементах управления MFC.

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

Win32 Console Application – мастер создания проекта консольного приложения. Консольная приложение – это программа, которая выполняется из командной строки окна DOS или Windows и не имеет графического интерфейса (окон). Проект консольного приложения создается пустым, предполагая добавление файлов исходного текста вручную.

Win32 Dynamic-Link Library – создание пустого проекта динамически подключаемой библиотеки. Установки компилятора и компоновщика будут настроены на создание DLL. Исходные файлы следует добавлять вручную.

Win32 Static Library – это средство создает пустой проект, предназначенный для генерации статической (объектной) библиотеки. Файлы с исходным кодом в него следует добавлять вручную. Благодаря этому можно говорить о двухэтапной технологии создания проектов. Вначале создается некая заготовка проекта с общими свойствами, подходящими для многих проектов этого типа. На втором этапе производится уже настройка, учитывающая специфику задачи. Для каждого этапа фирма Microsoft разработала свое инструментальное средство.

Использование средств разработки. В состав компилятора Microsoft Developer Studio встроены средства, позволяющие программисту облегчить разработку приложений. В первую очередь к ним относятся MFC AppWisard, ClassWizard и редактор ресурсов.

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

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

Для создания ресурсов приложения предназначен редактор ресурсов. Он позволяет быстро создавать новые меню, диалоговые панели, добавлять кнопки к панели управления toolbar и т.д.

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