Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Руководство_по_C++_CLI.doc
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
8 Мб
Скачать
☆

1.1.4Библиотека mfc

По мере роста популярности ОС Microsoft Windows, многие программисты стали заинтересоваными в создании графических программ. Они должны были использовать API Win32, который делал возможным использование только языка C для создания программ. При таком подходе все делалось вручную, в том числе проектирование и написания кода, что увеличивало сложность программного кода и требовало больших временных затрат.

Надо помнить, что Win32 был написан на C и не имел встроенную поддержку для C++. Таким образом, Microsoft создала библиотеку Microsoft Foundation Classes Library, сокращенно MFC. Эта библиотека добавила объектно-ориентированный подход (классы и наследование) к Win32. Так как Win32 был написан на C, он также имеет ограничения С, такие как слабую поддержку потоков, веб-программирование, XML, небольшую поддержку сериализации объектов и т.д. Библиотека MFC была отличным дополнением и преодолела множество ограничений С.

1.1.5Microsoft Visual C++

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

1.1.6Microsoft Visual Basic

Чтобы использовать библиотеку Win32, программист должен был знать С или С++. Для использования MFC, вы должны были знать C++ и набраться терпения сражаться с указателями и управлением памятью. Чтобы облегчить эти и другие типы проблем для разработки графических окон, Microsoft создал Microsoft Visual Basic как относительно простой в использовании язык. Эта среда программирования оказалась дружелюбнее, чем Visual C++. В то время как Microsoft Visual C++ прекрасно «понимает» Win32, одним из недостатков Visual Basic является то, что он не может непосредственно интерпретировать Win32 код. Чтобы использовать Win32, нужно было "импортировать" или "загружать" необходимая функция от Win32 в Microsoft Visual Basic.

1.2The Microsoft .Net Framework

1.2.1 Введение

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

1.2.2 Помощь сом

Если вы создаете две программы на разных языках, они не могут взаимодействовать. Например, объект, созданный на одном языке, не может быть использован на другом языке. Вначале это не было большой проблемой, но когда были разработаны сотни тысяч программ, для компании не является необычным использование различных языков для создания коммерческих программ. Например, предположим, что у вас есть компания под названием Corel, вы можете опубликовать программный продукт под названием CorelDraw и другой продукт под названием WordPerfect. Позднее, вы, возможно, даже захотите приобрести другой продукт под названием Paint Shop Pro, из другой компании (по имени JASC). Так как вы привлекаете разных программистов с различным уровнем подготовки, в конечном итоге у вас будут проблемы с программистами, использующими разные языки.

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

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

Чтобы сделать возможным создание объекта на одном языке или среде программирования, который будет использоваться на другом языке или даже среде программирования, Microsoft разработала Microsoft Component Object Model, также называемый Microsoft COM, или просто COM. По сути COM – это три технологии: элементы управления ActiveX, COM+ и DCOM.

Объекты, используемые в Microsoft Windows, доступны через библиотеки, называемые DLL. Поскольку этих DLL были разработаны тысячи, не было ничего необычного в возникновении «библиотечных» конфликтов из различных программ, установленных на одном компьютере. Эту проблему DLL Hell – ад DLL.

1.2.3Dot NET

Хотя COM должен был решить многие проблемы, он привнес и свой собственный набор проблем. Например, COM не был легким для освоения и реализации. Еще одна проблема в том, что COM была разработана для Microsoft Windows, чтобы решить проблемы этой ОС.

С быстрым распространением, хорошей доступностью и высокой полезностью Интернета, Microsoft пересмотрела ограничения таких языков программирования, как C/C++, Microsoft Visual Studio (версии 6 и младших) с одной стороны, и новых разработок, таких как веб-разработки и XML с другой стороны. Было принято решение создать новую библиотеку, практически с нуля, но за счет усовершенствования существующих языков. В то же время Microsoft стала более открытой для внешнего мира. Например, Microsoft создала новый язык C# и представила его стандарты для всеобщего обсуждения, так что язык может быть использован вне Microsoft Windows.

1.3C++ и общеязыковая инфраструктура