| Microsoft Foundation Class Library |
Article Index for Microsoft |
Website Links For Microsoft |
Information AboutMicrosoft Foundation Class Library |
| CATEGORIES ABOUT MICROSOFT FOUNDATION CLASS LIBRARY | |
| c libraries | |
| microsoft apis | |
| foundation classes | |
|
In Computer Programming , Microsoft Foundation Class Library (also '''Microsoft Foundation Classes''' or '''MFC''', originally '''Application Framework eXtensions''' or '''AFX''') is a Microsoft Library that Wraps portions of the Windows API in C++ Classes , forming an Application Framework . Classes are defined for many of the Handle -managed Windows objects and also for predefined windows and common controls. HISTORY MFC was introduced in 1992 with Microsoft's ''C/C++ 7.0'' Compiler for use with 16-bit versions of Windows . C++ was just beginning to replace C for development of commercial application software and ''C/C++ 7.0'' was the first of Microsoft's compilers to add C++ support. One interesting quirk of MFC is the use of "Afx" as the prefix for many functions, macros and the standard pre-compiled header name "stdafx.h". During early development what became MFC was called "Application Framework Extensions" and abbreviated "AFX". The name Microsoft Foundation Classes (MFC) was adopted too late in the release cycle to change these references. Microsoft Codenamed "Acropolis" – Composite Client Application Builder for .NET MFC 8.0 was released with Visual Studio 2005 . MFC is not included in the free edition of Visual C++ 2005 Express. The ) to replace the OWL framework. FEATURES When MFC was introduced, Microsoft extended the C++ syntax with a series of Macro s for management of Windows messages (via Message_Maps ), exceptions, run time type identification, and dynamic class instantiation (many of these features – exceptions or run time type identification, for example – were not built into Microsoft's compiler at the time, but would appear in future versions). The macros for Windows messages were intended to reduce memory required by avoiding gratuitous Virtual Table use and provide a more concrete structure for various Visual C++-supplied tools to edit and manipulate code without parsing the full language. The message-handling macros replaced the Virtual Function mechanism provided by C++. The macros which implemented serialization, exception support, and dynamic runtime types predated availability of standards-based language extensions by a number of years. 32-bit versions of MFC, for Windows NT 3.1 and later Windows operating systems, used compilers that implemented the language features and updated the macros to simply wrap the language features instead of providing customized implementations, realizing upward compatibility. ADVANTAGES
DISADVANTAGES
THE FUTURE OF MFC Once promoted heavily by Microsoft, emphasis on MFC has been eclipsed by the .NET Framework. Due to demand, development has continued. MFC 8 gained support for bridging elements of MFC with the .NET Framework to aid developers in migrating to the new API. Future versions of MFC will fully support the new dialog boxes of Windows Vista and many native Vista features. A 'leaner, meaner' alternative to MFC is the Windows Template Library (WTL), but Microsoft never fully supported it with wizards and other IDE features, and has since released it under open source licenses: Common Public License 1.0 (CPL) and Microsoft Permissive License (Ms-PL). Recently (August 2007), Bill Dunlap of the Visual C++ Development Team teased in a comment on a blog post that they are working on "we are working on a huge update to MFC that should knock your socks off". Somasegar's WebLog : Visual C++ Futures The free Visual C++ Express version will compile MFC applications, but does not include the IDE support of the standard, professional and Team editions. Visual C++ Express Overview Vendors and computer programmers that have made a strategic commitment to C++ and the Windows platform continue to use MFC for new development. VERSIONS SEE ALSO
REFERENCES FURTHER READING EXTERNAL LINKS Official sites
Tips
|
|
|