Из Википедии, бесплатной энциклопедии
  (Перенаправлено из классов Microsoft Foundation )
Перейти к навигации Перейти к поиску

Библиотека Microsoft Foundation Class (MFC) - это объектно-ориентированная библиотека C ++ для разработки настольных приложений для Windows .

MFC была представлена Microsoft в 1992 году и быстро получила широкое распространение. Хотя с тех пор Microsoft представила альтернативные платформы приложений, MFC по-прежнему широко используется.

История [ править ]

MFC был представлен в 1992 году вместе с компилятором Microsoft C / C ++ 7.0 для использования с 16-разрядными версиями Windows в качестве чрезвычайно тонкой объектно-ориентированной оболочки C ++ для Windows API. В то время C ++ только начинал заменять C для разработки коммерческого прикладного программного обеспечения. В программе MFC прямые вызовы Windows API редко нужны. Вместо этого программы создают объекты из классов Microsoft Foundation Class и вызывают функции-члены, принадлежащие этим объектам. Многие из этих функций имеют общие имена с соответствующими функциями API. [2]

Одна из особенностей MFC - это использование «Afx» в качестве префикса для многих функций, макросов и стандартного имени предварительно скомпилированного заголовка «stdafx.h». На ранней стадии разработки то, что стало MFC, называлось «Расширения инфраструктуры приложений» и сокращенно «Afx». Название Microsoft Foundation Classes (MFC) было принято слишком поздно в цикле выпуска, чтобы изменить эти ссылки.

MFC 8.0 был выпущен вместе с Visual Studio 2005 . MFC 9.0 был выпущен вместе с Visual Studio 2008. 7 апреля 2008 года Microsoft выпустила обновление для классов MFC как внешнее обновление для Visual Studio 2008 и MFC 9. [3] Обновление включает новые конструкции пользовательского интерфейса, включая ленты и связанные с ними виджеты пользовательского интерфейса , полностью настраиваемые панели инструментов , закрепляемые панели , которые можно свободно перемещать или прикреплять к любой стороне, а также вкладки документов . [4]

Изначально MFC был функцией коммерческих версий Visual Studio. Таким образом, он не включен в бесплатное программное обеспечение Visual C ++ Express . [5] Однако выпуск Visual Studio для сообщества , представленный в 2014 году, включает MFC.

Библиотека объектных Windows (OWL), разработанная для использования с компилятором Borland Turbo C ++ , была конкурирующим продуктом, представленным Borland примерно в то же время. В конце концов, Borland прекратил разработку OWL и на короткое время лицензировал распространение заголовков, библиотек и DLL MFC от Microsoft [6] , хотя никогда не предлагал полностью интегрированную поддержку MFC. Позднее Borland выпустила библиотеку визуальных компонентов для замены платформы OWL.

Особенности [ править ]

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

На момент своего появления MFC предоставляла макросы C ++ для обработки сообщений Windows (через карты сообщений [7] ), исключений , идентификации типа во время выполнения (RTTI), сериализации и создания экземпляров динамических классов. Макросы для обработки сообщений были нацелены на сокращение потребления памяти за счет исключения ненужного использования виртуальных таблиц, а также на обеспечение более конкретной структуры для различных инструментов, поставляемых Visual C ++, для редактирования и управления кодом без синтаксического анализа всего языка. Макросы обработки сообщений заменили механизм виртуальных функций , предоставляемый C ++.

Макросы для сериализации, исключений и RTTI предвосхитили доступность этих функций в Microsoft C ++ на несколько лет. В 32-разрядных версиях MFC для Windows NT 3.1 и более поздних операционных систем Windows использовались компиляторы, которые реализовывали языковые функции и обновляли макросы, чтобы просто обернуть языковые функции вместо предоставления настраиваемых реализаций, обеспечивая совместимость снизу вверх.

Редактор ленты ресурса MFC позволяет разработчику проектировать ленту графический вместо того, чтобы использовать XML -А декларативную разметку как RibbonX API . При желании компоненты ленты можно программировать напрямую, вызывая новый набор методов класса ленты. Разработчик может комбинировать графическую и программную ленточную разработку, как удобно. Мастер приложений MFC также был обновлен для поддержки новых функций, в том числе флажка для выбора, будет ли приложение использовать ленту или закрепляемые панели. Новая функциональность предоставляется в новых классах, так что старые приложения продолжают работать. [4] Это обновление строится на вершине BCGSoft «s BCGControlBarБиблиотека Professional Edition. [8] Microsoft наложила дополнительные лицензионные требования на пользователей лент. [9] Сюда входит требование соблюдать рекомендации Microsoft по проектированию пользовательского интерфейса, а также антиконкурентная оговорка, запрещающая использование пользовательского интерфейса в приложениях, которые конкурируют с Microsoft Office .

MFC можно использовать путем связывания статической библиотеки или добавления библиотеки DLL MFC .

Версии [ править ]

См. Также [ править ]

  • Библиотека активных шаблонов (ATL)
  • ЮС
  • Qt
  • Стандартная библиотека шаблонов (STL)
  • Библиотека шаблонов Windows (WTL)
  • WxWidgets

Ссылки [ править ]

  1. ^ «Примечания к выпуску Visual Studio 2019» . Msdn.microsoft.com . Проверено 24 июля 2019 года .
  2. ^ Обзор Visual C ++ Express
  3. ^ «Visual C ++ 2008 Feature Pack отправлен» . Blogs.msdn.com . Проверено 26 апреля 2008 года .
  4. ^ a b «Краткий обзор новых функций MFC» . Blogs.msdn.com . Проверено 10 сентября 2019 года .
  5. ^ «Часто задаваемые вопросы по Visual Studio Express Edition» . Microsoft.com. Архивировано из оригинала на 11 июня 2011 года . Проверено 6 января 2012 года .
  6. ^ «Microsoft покупает Inprise, улаживает споры» . Techweb.com. Архивировано из оригинального 17 октября 2007 года . Проверено 6 января 2012 года .
  7. ^ Уильямс, Микки; Дэвид Беннетт. «Создание собственных карт сообщений» . Сообщите ИТ.
  8. ^ «Обновление MFC на базе BCGSoft» . Msdn2.microsoft.com . Проверено 16 ноября 2007 года .
  9. ^ «Страница загрузки выпуска пакета дополнительных компонентов Visual C ++ 2008» . Microsoft.com . Проверено 16 мая 2008 года .
  10. ^ a b c d e f g "MS11-025: Уязвимость в библиотеке Microsoft Foundation Class (MFC) делает возможным удаленное выполнение кода: 12 апреля 2011 г." . Microsoft.com . Проверено 10 июня 2019 года .
  11. ^ a b c «Бюллетень по безопасности Microsoft MS09-035 - средний: уязвимости в библиотеке активных шаблонов Visual Studio делают возможным удаленное выполнение кода (969706)» . Microsoft.com . Проверено 19 ноября 2012 года .
  12. ^ a b c «Защитите свой компьютер от уязвимости безопасности Active Template Library (ATL)» . Архивировано из оригинального 26 октября 2010 года . Проверено 29 октября 2010 года .
  13. ^ «Обновление безопасности MFC для Microsoft Visual Studio 2005 с пакетом обновления 1» . Microsoft.com . Проверено 19 ноября 2012 года .
  14. ^ "Где я могу скачать распространяемые компоненты Visual C ++?" . Проверено 10 июня 2019 года .
  15. ^ «Visual C ++ - изучение новых возможностей C ++ и MFC в Visual Studio 2010» . Msdn.microsoft.com . Проверено 19 ноября 2012 года .
  16. ^ «Распространяемые пакеты Visual C ++ для Visual Studio 2013» . Msdn.microsoft.com . Проверено 30 декабря 2014 года .
  17. ^ «Обновление для Visual C ++ 2013 и распространяемого пакета Visual C ++» . Msdn.microsoft.com . Проверено 8 января 2017 года .
  18. ^ «Обновление для распространяемого пакета Visual C ++ 2013» . Проверено 10 июня 2019 года .
  19. ^ «Visual Studio 2015 с обновлением 1» . Msdn.microsoft.com . Проверено 12 июня, 2016 .
  20. ^ «Visual Studio 2015 с обновлением 2» . Msdn.microsoft.com . Проверено 12 июня, 2016 .
  21. ^ «Visual Studio 2015 с обновлением 3» . Msdn.microsoft.com . Проверено 28 июня, 2016 .
  22. ^ «Microsoft Visual Studio 2015 с обновлением 3 (KB3165756)» . Msdn.microsoft.com . Проверено 28 августа 2016 года .

Дальнейшее чтение [ править ]

  • Просис, Джефф (1999). Программирование Windows с помощью MFC (2-е изд.). Microsoft Press . ISBN 9781572316959.
  • Шеперд, Джордж (1996). MFC Internals (7-е изд.). Эддисон-Уэсли . ISBN 9780201407211.
  • Круглински, Дэвид (1997). Внутри Visual C ++ (4-е изд.). Microsoft Press . ISBN 9781572315655.
  • Microsoft (1995). Microsoft Visual C ++: Программирование с помощью MFC (2-е изд.). Microsoft Press . ISBN 9781556159213.

Внешние ссылки [ править ]

  • Последние поддерживаемые загрузки Visual C ++ - Microsoft
  • Где я могу скачать распространяемые компоненты Visual C ++? - Microsoft
  • Справочник MSDN MFC - Microsoft
  • MFC: Visual Studio 2005 и более поздние версии - Microsoft
  • Взгляд изнутри на следующее поколение Visual C ++ (охватывает основные обновления MFC 9) - Microsoft