Microsoft Foundation Classes
Бібліотека Microsoft Foundation Classes (MFC) дає можливість розробляти GUI-застосунки для Microsoft Windows на мові C++ з використанням багатого набору бібліотечних класів. Велика частина MFC є відносно тонким об'єктно-орієнтованим шаром над Windows API. Це рішення, з одного боку, підвищує продуктивність, але, з іншого боку, успадковує всі недоліки дизайну Windows API і перешкоджає перенесенню програм на інші платформи.
Історія
Перша версія MFC була випущена разом з сьомою версією 16-розрядного компілятора мови C/C++ компанії Microsoft в 1992 році. Для тих, хто займався розробкою застосунків з використанням API функцій, пакет MFC обіцяв вельми значне підвищення продуктивності процесу програмування.
Однією з примітних особливостей MFC є префікс «Afx», використаний в іменах багатьох функцій, макросів і назві стандартного заголовного файлу «stdafx.h». На ранній стадії розробки, те, що згодом стало називатися MFC, мало назву «Application Framework Extensions» і абревіатуру «Afx». Рішення змінити назву на Microsoft Foundation Classes (MFC) було ухвалене надто пізно, щоб міняти згадки Afx в коді.
Object Windows Library (OWL), розроблена компанією Borland для роботи з власним компілятором C++, була конкуруючим продуктом, представленим в той же період. Врешті-решт Borland припинила розробку OWL і придбала короткострокову ліцензію на використання бібліотек для роботи з MFC, але так і не запропонувала повної підтримки MFC в своїх продуктах. Пізніше Borland випустила Visual Component Library як заміни OWL.
Упор компанії Microsoft на MFC був ослаблений на користь Microsoft .NET Framework. Проте, незважаючи на це, MFC як і раніше залишається популярною серед розробників.
Версії
Версия продукта | Версия MFC | Год выхода |
---|---|---|
Microsoft C/C++ 7.0 | MFC 1.0 | 1992 |
Visual C++ 1.0 | MFC 2.0 (введена архитектура документ-представление) | |
Visual C++ 1.5 | MFC 2.5 (реализована поддержка технологий ODBC и drag-and-drop) | |
Visual C++ 1.52c | MFC 2.5 (последняя платформа разработки для MS Windows 3.x) | |
Visual C++ 2.0 | MFC 3.0 (появилась возможность реализации многозадачности и поддержка Unicode) | |
Visual C++ 2.1 | MFC 3.1 | |
Visual C++ 2.2 | MFC 3.2 | |
Visual C++ 4.0 | MFC 4.0 (mfc40.dll включена в состав Windows 95) | август 1995 |
Visual C++ 4.1 | MFC 4.1 | |
Visual C++ 4.2 | MFC 4.2 (mfc42.dll включена в первоначальных выпуск Windows 98) | март 1998 |
eMbedded Visual C++ 3.0 | MFC 4.2 (mfc42.dll) | |
Visual C++ 5.0 | MFC 4.21 (mfc42.dll), значительное обновление MFC 4.2. | |
Visual C++ 6.0 | MFC 6.0 (mfc42.dll) | 1998 |
eMbedded Visual C++ 4.0 | ||
Visual C++ .NET 2002 (Visual C++ 7.0) | MFC 7.0 (mfc70.dll), .NET 1.0 | февраль 2002 |
Visual C++ .NET 2003 (Visual C++ 7.1) | MFC 7.1 (mfc71.dll), .NET 1.1 | апрель 2003 |
Visual C++ 2005[1] (Visual C++ 8.0) | MFC 8.0 (mfc80.dll), .NET 2.0 | октябрь 2005 |
Visual C++ 2008[1] (Visual C++ 9.0) | MFC 9.0.21022 (mfc90.dll), .NET 3.5 | ноябрь 2007 |
Visual C++ 2008 with Feature Pack | MFC 9.0.30411 (mfc90.dll) | апрель 2008 |
Visual C++ 2008 SP1 | MFC 9.0.30729 (mfc90.dll) | август 2008 |
Visual C++ 2010 | MFC 10.x(?), .NET 4.0 | около 2010 |