Xreferat.com » Рефераты по информатике и программированию » Создание информационно-справочной подсистемы САПР конструкторско-технологического назначения. Интегральные микросхемы

Создание информационно-справочной подсистемы САПР конструкторско-технологического назначения. Интегральные микросхемы

КМОП микросхемы совпадает с напряжением питания (логический уровень единицы) или с потенциалом общего провода (логический уровень нуля). При увеличении тока нагрузки напряжение логической единицы может уменьшается до 2,8В (Uп=15В) от напряжения питания. Допустимый уровень напряжения на выходе цифровой КМОП микросхемы (серия микросхем К561) при пятивольтовом питании показан на рисунке 7.

Рисунок 2.24 Уровни логических сигналов на выходе цифровых КМОП микросхем


Как уже говорилось ранее, напряжение на входе цифровой микросхемы по сравнению с выходом обычно допускается в больших пределах. Для КМОП микросхем договорились о 30% запасе. Границы уровней логического нуля и единицы для КМОП микросхем при пятивольтовом питании приведена на рисунке 8.


Рисунок 2.25 Уровни логических сигналов на входе цифровых КМОП микросхем


При уменьшении напряжения питания границы логического нуля и логической единицы можно определить точно так же (разделить напряжение питания на 3).


2.5.3 Семейства КМОП микросхем

Первые КМОП микросхемы не имели защитных диодов на входе, поэтому их монтаж представлял значительные трудности. Это семейство микросхем серии К172. Следующее улучшенное семейство микросхем серии К176 получило эти защитные диоды. Оно достаточно распространено и в настоящее время. Серия К1561 завершает развитие первого поколения КМОП микросхем. В этом семействе было достигнуто быстродействие на уровне 90нс и диапазон изменения напряжения питания 3..15В. Так как в настоящее время распространена иностранная аппаратура, то приведу иностранный аналог этих микросхем - C4000В.

Дальнейшим развитием КМОП микросхем стала серия SN74HC. Эти микросхемы отечественного аналога не имеют. Они обладают быстродействием 27нс и могут работать в диапазоне напряжений 2..6В. Они совпадают по цоколёвке и функциональному ряду с ТТЛ микросхемами, но не совместимы с ними по логическим уровням, поэтому одновременно были разработаны микросхемы серии SN74HCT (отечественный аналог - К1564), совместимые с ТТЛ микросхемами и по логическим уровням.

В это время наметился переход на трёхвольтовое питание. Для него были разработаны микросхемы SN74ALVC с временем задержки сигнала 5,5нс и диапазоном питания 1,65..3,6В. Эти же микросхемы способны работать и при 2,5 вольтовом питании. Время задержки сигнала при этом увеличивается до 9нс.

Наиболее перспективным семейством КМОП микросхем считается семейство SN74AUC с временем задержки сигнала 1,9нс и диапазоном питания 0,8..2,7В.

3. ИНФОРМАЦИОННО-СПРАВОЧНАЯ СИСТЕМА


3.1 Определение и классификация БД


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

СУБД - это программа, с помощью которой реализуется централизованное управление данными, хранимыми в базе, доступ к ним, поддержка их в актуальном состоянии.

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

Классификация СУБД:

по выполняемым функциям СУБД подразделяются на операционные и информационные;

по сфере применения СУБД подразделяются на универсальные и проблемно-ориентированные;

по используемому языку общения СУБД подразделяются на замкнутые, имеющие собственные самостоятельные языки общения пользователей с базами данных, и открытые, в которых для общения с базой данных используется язык программирования, расширенный операторами языка манипулирования данными;

по числу поддерживаемых уровней моделей данных СУБД подразделяются на одно-, двух-, трехуровневые системы;

по способу установления связей между данными различают реляционные, иерархические и сетевые базы данных;

по способу организации хранения данных и выполнения функций обработки базы данных подразделяются на централизованные и распределенные.

Системы централизованных баз данных с сетевым доступом предполагают две основные архитектуры – файл-сервер или клиент-сервер.

Архитектура файл-сервер. Предполагает выделение одной из машин сети в качестве центральной (главный сервер файлов), где хранится совместно используемая централизованная база данных. Все другие машины исполняют роль рабочих станций. Файлы базы данных в соответствии с пользовательскими запросами передаются на рабочие станции, где в основном и производится их обработка. При большой интенсивности доступа к одним и тем же данным производительность информационной системы падает.

Архитектура клиент-сервер. Эта модель взаимодействия компьютеров в сети для современных СУБД фактически стала стандартом. Каждый из подключенных к сети и составляющих эту архитектуру компьютеров играет свою роль: сервер владеет и распоряжается информационными ресурсами системы, клиент имеет возможность пользоваться ими. Помимо хранения централизованной базы данных сервер базы данных обеспечивает выполнение основного объема обработки данных. Запрос на данные, выдаваемый клиентом (рабочей станцией), порождает поиск и извлечение данных на сервере. Извлеченные данные транспортируются по сети от сервера к клиенту. Спецификой архитектуры клиент-сервер является использование языка запроса SQL.

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

Характеристиками СУБД являются:

производительность;

обеспечение целостности данных на уровне баз данных;

обеспечение безопасности данных;

возможность работы в многопользовательских средах;

возможность импорта и экспорта данных;

обеспечение доступа к данным с помощью языка SQL;

возможность составления запросов;

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

Производительность СУБД оценивается:

временем выполнения запросов;

скоростью поиска информации;

временем импортирования баз данных из других форматов;

скоростью выполнения операций (таких как обновление, вставка, удаление);

временем генерации отчета и другими показателями.

Безопасность данных достигается:

шифрованием прикладных программ;

шифрованием данных;

защитой данных паролем;

ограничением доступа к базе данных (к таблице, к словарю и т.д.).

Обеспечение целостности данных подразумевает наличие средств, позволяющих удостовериться, что информация в базе данных всегда остается корректной и полной. Целостность данных должна обеспечиваться независимо от того, каким образом данные заносятся в память (в интерактивном режиме, посредством импорта или с помощью специальной программы). Используемые в настоящее время СУБД обладают средствами обеспечения целостности данных и надежной безопасности.

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

Наибольшее распространение в настоящее время получили системы управления базами данных Microsoft Access и Oracle.

Этапами работы в СУБД являются:

создание структуры базы данных, т.е. определение перечня полей, из которых состоит каждая запись таблицы, типов и размеров полей (числовой, текстовый, логический и т.д.), определение ключевых полей для обеспечения необходимых связей между данными и таблицами;

ввод и редактирование данных в таблицах баз данных с помощью представляемой по умолчанию стандартной формы в виде таблицы и с помощью экранных форм, специально создаваемых пользователем;

обработка данных, содержащихся в таблицах, на основе запросов и на основе программы;

вывод информации из ЭВМ с использованием отчетов и без использования отчетов.

Реализуются названные этапы работы с помощью различных команд.

Централизованная база данных обеспечивает простоту управления, улучшенное использование данных на местах при выполнении дистанционных запросов, более высокую степень одновременности обработки, меньшие затраты на обработку.

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

Известны три типа моделей описания баз данных – иерархическая, сетевая и реляционная, основное различие между которыми состоит в характере описания взаимосвязей и взаимодействия между объектами и атрибутами базы данных.

Иерархическая модель предполагает использование для описания базы данных древовидных структур, состоящих из определенного числа уровней. «Дерево» представляет собой иерархию элементов, называемых узлами. Под элементами понимается список, совокупность, набор атрибутов, элементов, описывающих объекты.

В качестве примера простой иерархической структуры можно привести административную структуру высшего учебного заведения, элементами которой являются: «Университет – Факультет – Группа». На каждом уровне иерархии данной структуры могут быть использованы различные атрибуты. Например, атрибутами третьего уровня могут быть: специализация группы, численный состав, фамилия старосты группы и другие.

В данной модели имеется корневой узел или просто корень – «Университет», который находится на самом верхнем уровне иерархии, а потому не имеет узлов, стоящих выше его. Каждый узел модели имеет только один исходный, находящийся по отношению к нему на более высоком уровне, а на последующих уровнях классификации он может иметь один, два или большее количество узлов, либо не иметь их вообще.

Принципы иерархии:

иерархия всегда начинается с корневой вершины (или главного узла);

исходный узел, из которого строится дерево, называется корневым узлом или просто корнем, причем одно дерево может иметь только один корень;

узел может содержать один или несколько атрибутов, описывающих находящийся в нем объект;

порожденные узлы могут встраиваться в «дерево» как в горизонтальном направлении, так и в вертикальном;

доступ к порожденным узлам возможен только через исходный узел, поэтому существует только один путь доступа к каждому узлу.

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

Сетевая модель описывает элементарные данные и отношения между ними в виде ориентированной сети. Это такие отношения между объектами, когда каждый порожденный элемент имеет более одного исходного и может быть связан с любым другим элементом структуры. Например, в структуре управления учебным заведением порожденный элемент «Студент» может иметь не один, а два исходных элемента: «Студент – Учебная группа», и «Студент – Комната в общежитии».

Сетевые структуры могут быть многоуровневыми и иметь разную степень сложности. Схема, в которой присутствует хотя бы одна связь «многие ко многим» и которая требует для своей реализации использования сложных методов, является сложной схемой.

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

Реляционная модель имеет в своей основе понятие «отношения», и ее данные формируются в виде таблиц. Отношение – это двумерная таблица, имеющая сове название, в которой минимальным объектом действий, сохраняющим ее структуру, является строка таблицы (кортеж), состоящая из ячеек таблицы – полей.

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

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

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

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


3.2 Компилятор Visual C++, версия 6


Стандартный вариант

Профессиональный вариант

Корпоративный вариант

Инструменты разработчика

Интегрированный отладчик

Встроенные редакторы ресурсов

Дополнительные утилиты

Возможности компилятора

Средства автоматизации и макросы

ClassView

Настраиваемые панели инструментов и меню

Рабочие пространства и файлы проектов

Предварительно скомпилированные файлы заголовков

MFC

Макроподстановка функций

Опции компиляции

General

Debug

C/C++

Link

Resources

MIDL

Browse Info

Custom Build

Новая версия VisualC++ позволет создавать любые приложения для Windows95, 98 и NT с использованием новейших программных технологий и методик. Пакет программ MicrosoftVisualC++ версии 6 поставляется в трех различных вариантах: стандартном, профессиональном и корпоративном.

Стандартный вариант VisualC++ (ранее он назывался учебным) содержит почти все те же средства, что и профессиональный, но в отличие от последнего в нем отсутствуют модуль Profiler, несколько мастеров, возможности по оптимизации кода и статической компоновке библиотеки MFC , некоторые менее важные функции. Этот вариант в наибольшей мере подходит для студентов и иных категорий индивидуальных пользователей, чему, в частности, способствует и сравнительно низкая его цена. Лицензионное соглашение стандартного варианта программы в новой версии, в отличие от старой, разрешает ее использование для создания коммерческих программных продуктов.

Профессиональный вариант В этом варианте программы можно создавать полнофункциональные графические и консольные приложения для всех платформ Win32, включая Windows95, 98 и NT. Перечислим новые возможности профессионального варианта:

• поддержка автоматического дополнения выражений (технология IntelHSense);

• шаблоны OLEDB; • средства визуального проектирования приложений, работающих с базами данных

• (без возможности модификации данных).

Корпоративный вариант С помощью корпоративного варианта VisualC++ вы можете создавать приложения типа клиент/сервер для работы в Internet или в корпоративной среде (intranet). Приобретая корпоративный вариант программы, вы получаете в свое распоряжение не только все возможности профессионального варианта, но и ряд дополнительных средств, включая:

• Microsoft Transaction Server;

• средства визуального проектирования приложений, работающих с базами данных;

• модуль SQL Editor;

• модуль SQL Debugger;

• классы библиотеки MFC для доступа к базам данных;

• ADO Data-Bound Dialog Wizard;

• Поддержка технологии Remote Automation;

• Visual SourceSafe.

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

Коснувшись темы интеграции, следует упомянуть о мастере ClassWizard, помогающем в кратчайшие сроки создавать приложения OLE с использованием библиотеки MFC . Инструменты разработчика Новая версия компилятора MicrosoftVisualC++ содержит множество интегрированных средств визуального программирования. Ниже перечислены утилиты, которые вы можете использовать непосредственно из VisualC++. Интегрированный отладчик Разработчики компании Microsoft встроили первоначальный отладчик CodeView непосредственно в среду VisualC++. Команды отладки вызываются из меню Debug. Встроенный отладчик позволяет пошагово выполнять программу, просматривать и изменять значения переменных и многое другое.

Встроенные редакторы ресурсов позволяют создавать и модифицировать ресурсы Windows, такие как растровые изображения, указатели мыши, значки, меню, диалоговые окна и т.д. Редактор диалоговых окон — это достаточно удобное средство, позволяющее легко и быстро создавать сложные диалоговые окна. С помощью этого редактора в разрабатываемое диалоговое окно можно включить любые элементы управления (например, надписи, кнопки, флажки, списки и т.д.). При этом вы можете изменять как внешний вид элементов управления, так и их свойства (наряду со свойствами самого диалогового окна). Редактор изображений позволяет быстро создавать и редактировать собственные растровые изображения, значки и указатели мыши. Пользовательские ресурсы данного типа сохраняются в файле с расширением RC и включаются в файлы сценариев ресурсов. Редактор двоичных кодов позволяет вносить изменения непосредственно в двоичный код ресурса. Редактор двоичных кодов следует использовать только для просмотра ресурсов или внесения мелких изменений в те из них, тип которых не поддерживается в VisualC++. Редактор строк представляет собой ресурс, содержащий список идентификаторов и значений всех строковых надписей, используемых в приложении. К примеру, в этой таблице могут храниться сообщения, отображаемые в строке состояния. Каждое приложение содержит единственную таблицу строк. Наличие единой таблицы позволяет легко менять язык интерфейса программы — для этого достаточно перевести на другой язык строки таблицы, не затрагивая код программы.

Дополнительные утилиты ActiveX Control Test Container С помощью этой утилиты, разработанной специалистами Microsoft, вы можете быстро протестировать созданные вами элементы управления. При этом можно изменять их свойства и характеристики. APITextViewer Данная утилита позволяет просматривать объявления констант, функций и типов данных Win32 API, а также копировать эти объявления в приложения VisualBasic или в буфер обмена. AVIEditor Эта утилита позволяет просматривать, редактировать и объединять AVI-файлы. DataObjectViewer Утилита DataObjectViewer отображает список форматов данных, предлагаемых объектами ActiveX и OLE, которые находятся в буфере обмена или участвуют в операции перетаскивания (drag-and-drop). DDESpy эта утилита предназначена для отслеживания всех DDE-сообщений. DocFileViewer эта утилита отображает содержимое составных OLE-документов. ErrorLookup ErrorLookup эта утилита позволяет просматривать и анализировать всевозможные сообщения об ошибках. HeapWalkUtility Эта утилита выводит список блоков памяти, размещенных в указанной динамической области (куче). HelpWorkshop Эта утилита позволяет создавать и редактировать файлы справки. OLE Client/Server, Tools иView Утилита OLEViewer отображает информацию об объектах ActiveX и OLE, инсталлированных на вашем компьютере. Эта утилита также позволяет редактировать реестр и просматривать библиотеки типов. Утилиты OLE Client и OLE Server предназначены для тестирования OLEклиентов и серверов. TheProcessViewer Эта утилита позволяет следить за состоянием выполняющихся процессов и потоков. ROTViewer Эта утилита отображает информацию об объектах ActiveX и OLE, в данный момент загруженных в память. Spy++ Эта утилита выводит сведения о выполняющихся процессах, потоках, существующих окнах и оконных сообщениях. StressUtility Эта утилита позволяет захватывать системные ресурсы и используется для тестирования системы в ситуациях, связанных с недостатком системных ресурсов. В число захватываемых ресурсов входят глобальная и пользовательская динамические области (кучи), динамическая область GDI, свободные области дисков и дескрипторы файлов. Утилита Stress может выделять фиксированное количество ресурсов, а также производить выделение в ответ на получение различных сообщений. Кроме того, утилита способна вести журнал событий, что помогает обнаруживать и воспроизводить аварийные ситуации в работе программы. MFC Tracer Эта утилита позволяет устанавливать флаги трассировки в файле AFX.INI. С помощью данных флагов можно выбрать типы сообщений, которые будут посылаться приложением в окно отладки. Таким образом, утилита Tracer является средством отладки. UUIDGenerator Эта утилита предназначена для генерации универсального уникального идентификатора (UUID), который позволяет клиентским и серверным приложениям распознавать друг друга. WinDiff Эта утилита дает возможность сравнивать содержимое файлов и папок. Zooming Эту утилиту можно использовать для захвата и просмотра в увеличенном виде выбранной области на рабочем столе.

Компилятор VisualC++ содержит много новых инструментальных средств и улучшенных возможностей. В следующих параграфах дается их краткий обзор. Средства автоматизации и макросы С помощью сценариев VisualBasic вы можете автоматизировать выполнение рутинных и повторяющихся задач. VisualC++ позволяет записывать в макрокомандах самые разные операции со своими компонентами, включая открытие, редактирование и закрытие документов, изменение размеров окон. Можно также создавать надстроечные модули, интегрируя их в среду с использованием объектной модели VisualC++. ClassView Вкладка ClassView теперь позволяет работать с классами Java так же, как с классами C++.

Вы можете просматривать и редактировать интерфейсы СОМ-объектов, созданных на базе MFC или ALT, а также разбивать классы по папкам удобным для вас образом. Стало легче настраивать панели инструментов и меню в соответствии с вашими предпочтениями. В частности, вы можете выполнять следующие действия:

добавлять меню в панель инструментов;

добавлять и удалять команды меню и кнопки панели инструментов;

заменять кнопки панели инструментов соответствующими командами меню;

создавать копии команд меню или кнопок панелей инструментов на разных панелях, с тем чтобы облегчить доступ к ним в разных ситуациях;

создавать новые панели инструментов и меню;

настраивать внешний вид существующих панелей инструментов и меню;

назначать команды меню новым кнопкам панелей инструментов.

Файлы рабочего пространства теперь имеют расширение DSW(раньше использовалось расширение MDP). Создаваемые проекты записываются в файлы двух типов: внутренние (DSP) и внешние (МАК). Файлы с расширением DSP создаются при выборе нового проекта или при открытии файла проекта, созданного в ранней версии программы. Чтобы сохранить проект во внешнем файле с расширением МАК, используйте команду Export Makefile из меню Project. Проекты теперь могут содержать активные документы, например электронные таблицы или текстовые документы Word. Вы можете редактировать их, даже не покидая VisualStudio. Когда создается новое рабочее пространство, VisualC++ создает файл имя_рабочегo_npocmpaнcтвa.DSW. Эти файлы больше не содержат данных, специфичных для вашего компьютера. Предварительно скомпилированные файлы заголовков VisualC++ помещает описания типов данных, прототипы функций, внешние ссылки и объявления функций-членов в специальные файлы, называемые файлами заголовков. Эти файлы содержат важные определения, необходимые во многих местах программы. Части файлов заголовков обычно повторно компилируются при компиляции каждого из включающих их модулей. К сожалению, повторная компиляция значительно замедляет работу компилятора.

VisualC++ позволяет существенно ускорить этот процесс за счет возможности предварительной компиляции файлов заголовков. Хотя идея не нова, для ее реализации специалисты Microsoft использовали принципиально новый подход. Предварительной компиляции может подвергнуться только "стабильная" часть файла; оставшаяся же часть, которая впоследствии может модифицироваться, будет компилироваться вместе с приложением.

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

Компилятор VisualC++ предполагает, что текущее состояние рабочей среды идентично тому, которое было при компиляции заголовков. В случае обнаружения каких-либо конфликтов будет выдано предупреждающее сообщение. Такие ситуации могут возникать при изменении модели использования памяти, значений предопределенных констант или опций отладки/компиляции.

В отличие от многих других компиляторов C++, VisualC++ не ограничивается предварительной компиляцией только файлов заголовков. Благодаря возможности проводить компиляцию до заданной точки программы вы можете предварительно скомпилировать даже какую-нибудь часть основного модуля. В целом, процедура предварительной компиляции используется для тех частей программного кода, которые вы считаете стабильными; таким образом значительно сокращается время компиляции частей программы, изменяемых в процессе работы над ней.

Приложения Windows просты в использовании, но создавать их довольно сложно. Программистам приходится изучать сотни различных API-функций. Чтобы облегчить их труд, специалисты Microsoft разработали библиотеку MicrosoftFoundationClasses— MFC . Используя готовые классы C++, можно гораздо быстрее и проще решать многие задачи. Библиотека MFC существенно облегчает программирование в среде Windows. Те, кто обладает достаточным опытом программирования на C++, могут дорабатывать классы или создавать новые, производные от существующих.

Классы библиотеки MFC используются как для управления объектами Windows, так и для решения определенных общесистемных задач. Например, в библиотеке имеются классы для управления файлами, строками, временем, обработкой исключений и другие.

По сути, в MFC представлены практически все функции WindowsAPI. В библиотеке имеются средства обработки сообщений, диагностики ошибок и другие средства, обычные для приложений Windows. MFC обладает следующими преимуществами.

Представленный набор функций и классов отличается логичностью и полнотой. Библиотека MFC открывает доступ ко всем часто используемым функциям WindowsAPI, включая функции управления окнами приложений, сообщениями, элементами управления, меню, диалоговыми окнами, объектами GDI (GraphicsDeviceInterface— интерфейс графических устройств), такими как шрифты, кисти, перья и растровые изображения, функции работы с документами и многое другое.

Функции MFC легко изучать. Специалисты Microsoft приложили все усилия для того, чтобы имена функций MFC и связанных с ними параметров были максимально близки к их эквивалентам из WindowsAPI. Благодаря этому программисты легко смогут разобраться в их назначении.

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

• MFC содержит средства автоматического управления сообщениями. Библиотека MFC устраняет необходимость в организации цикла обработки сообщений — распространенного источника ошибок в Windows-приложениях. В MFC предусмотрен автоматический контроль за появлением каждого сообщения. Вместо использования стандартного блока switch/case все сообщения Windows связываются с функциямичленами, выполняющими соответствующую обработку.

MFC позволяет организовать автоматический контроль за выполнением функций. Эта возможность реализуется за счет того, что вы можете записывать в отдельный файл информацию о различных объектах и контролировать значения переменных-членов объекта в удобном для понимания формате.

MFC имеет четкий механизм обработки исключительных ситуаций. Библиотека MFC была разработана таким образом, чтобы держать под контролем появление таких ситуаций. Это позволяет объектам MFC восстанавливать работу после появления ошибок типа "outofmemory" (нехватка памяти), неправильного выбора команд меню или проблем с загрузкой файлов либо ресурсов.

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

MFC может использоваться совместно с подпрограммами, написанными на языке С. Важной особенностью библиотеки MFC является то, что она может "сосуществовать" с приложениями, основанными на WindowsAPI. В одной и той же программе программист может использовать классы MFC и вызывать функции WindowsAPI. Такая прозрачность среды достигается за счет согласованности программных обозначений в обеих архитектурах. Другими словами, файлы заголовков, типы и глобальные константы MFC не конфликтуют с именами из WindowsAPI. Еще одним ключевым моментом, обеспечивающим такое взаимодействие, является согласованность механизмов управления памятью.

MFC может быть использована для создания программ, работающих в среде MSDOS. Библиотека MFC была создана специально для разработки приложений в среде Windows. В то же время многие классы предоставляют объекты, часто используемые для ввода/вывода файлов и манипулирования строковыми данными. Такие классы общего назначения могут применяться в приложениях как Windows, так и MS-DOS.

Макроподстановка функций Компилятор MicrosoftVisualC++ поддерживает возможность макроподстановки функций. Это означает, что вызов любой функции с любым набором инструкций может быть заменен непосредственной подстановкой тела функции. Многие компиляторы C++ разрешают производить макроподстановку только для функций, содержащих определенные операторы и выражения. Например, иногда оказывается невозможной макроподстановка функций, содержащих операторы switch, while и for. VisualC++ не накладывает ограничений на содержимое функций. Чтобы задать параметры макроподстановки, выберите в меню Project команду Settings, затем активизируйте вкладку C/C++ и, наконец, выберите элемент Optimizations из списка Category.

Компилятор MicrosoftVisualC++ предоставляет огромные возможности в плане оптимизации приложений, в результате чего вы можете получить выигрыш как в отношении размера программы, так и в отношении скорости ее выполнения, независимо от того, что представляет собой ваше приложение. Перечисленные ниже опции компиляции позволяют оптимизировать программный код, сокращая его размер, время выполнения и время компиляции. Чтобы получить к этим опциям доступ, нужно в меню Project выбрать команду Settings.

На вкладке General можно включить или отключить возможность использования библиотеки MFC (список MicrosoftFoundationClasses). Здесь также можно указать папки, в которые компилятор будет помещать промежуточные (поле Intermediatefiles) и выходные (поле Outputfiles) файлы.

Debug а вкладке Debug можно указать местонахождение исполняемого файла и рабочей папки, задать аргументы командной строки, а также путь и имя удаленного исполняемого файла на сетевом диске. Кроме того, в списке Category можно выбрать элемент AdditionalDLLs, предназначенный для задания дополнительных библиотек динамической компоновки (DLL).

Вкладка C/C++ содержитследующиекатегорииопций: General, C++ Language, Code Generation, Customize, Listing Files, Optimizations, Precompiled Headers и Preprocessor. В поле ProjectOptions отображается командная строка проекта.

Опции категории General позволяют установить уровень контроля за ошибками (список Warninglevel), указать, какую отладочную информацию следует включать (список Debuginfo), выбрать тип оптимизации при компиляции (список Optimizations) и задать директивы препроцессора (поле Preprocessordefinitions).

Опции категории C++ Languageпозволяют выбрать способ представления указателей на члены классов (группа Pointer-to-member representation), включить обработку исключительных ситуаций (Enable exception handling), разрешить проверку типов объектов на этапе выполнения (EnableRun-timeTypeInformation) и запретить замещение конструкторов при вызове виртуальных функций (Disableconstructiondisplacements).

Опции категории CodeGeneration позволяют задать тип процессора, на который должен ориентироваться компилятор (список Processor), выбрать тип соглашения о вызовах функций (список Callingconvention), указать тип компоновки динамических библиотек (список Useruntimelibrary) и установить порядок выравнивания полей структурированных переменных (список Structmemberalignment).

В категории Customize можно задать следующие опции:

Disablelanguageextensions (компиляция производится в соответствии с правилами ANSIС, а не MicrosoftС);

Enablefunction-levellinking (функции при компиляции обрабатываются особым образом, что позволяет компоновщику упорядочивать их и исключать неиспользуемые);

Eliminateduplicatestrings(в таблицу строк модуля не включаются повторяющиеся строки);

Enableminimalrebuild(позволяет компилятору обнаруживать изменения в объявлениях классов C++ и выявлять необходимость повторной компиляции исходных файлов);

Enableincrementalcompilation(дает возможность компилировать только те функции, код которых изменился с момента последней компиляции);

Suppressstartupbannerandinformationmessages(в процессе компиляции запрещается вывод сообщения с информацией об авторских правах и номере версии компилятора).

ListingFiles Опции категории ListingFiles позволяют задавать сведения, необходимые для создания SBRфайла (группа Generatebrowseinfo), который используется при построении специальной базы данных с информацией о всех классах, функциях, переменных и

Если Вам нужна помощь с академической работой (курсовая, контрольная, диплом, реферат и т.д.), обратитесь к нашим специалистам. Более 90000 специалистов готовы Вам помочь.
Бесплатные корректировки и доработки. Бесплатная оценка стоимости работы.

Поможем написать работу на аналогичную тему

Получить выполненную работу или консультацию специалиста по вашему учебному проекту
Нужна помощь в написании работы?
Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Пишем статьи РИНЦ, ВАК, Scopus. Помогаем в публикации. Правки вносим бесплатно.

Похожие рефераты: