माइक्रोसॉफ्ट फाउंडेशन क्लास लाइब्रेरी
Developer(s) | Microsoft |
---|---|
Initial release | 1992 |
Stable release | 14.22.27821.0
/ July 24, 2019[1] |
Written in | C++ |
Operating system | Microsoft Windows |
License | Proprietary |
Website | docs |
माइक्रोसॉफ्ट फाउंडेशन क्लास लाइब्रेरी (एमएफसी) खिड़कियाँ के लिए डेस्कटॉप एप्लिकेशन विकसित करने के लिए एक सी ++ ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग | ऑब्जेक्ट-ओरिएंटेड पुस्तकालय (कंप्यूटर विज्ञान) है।
MFC को Microsoft द्वारा 1992 में पेश किया गया था और जल्दी से इसका व्यापक उपयोग हुआ। जबकि Microsoft ने तब से वैकल्पिक अनुप्रयोग ढाँचे पेश किए हैं, MFC का व्यापक रूप से उपयोग किया जाता है।
MFC को Microsoft द्वारा 1992 में पेश किया गया था और जल्दी से इसका व्यापक उपयोग हुआ। जबकि Microsoft ने तब से वैकल्पिक अनुप्रयोग ढाँचे पेश किए हैं, MFC का व्यापक रूप से उपयोग किया जाता है।
इतिहास
MFC को 1992 में Microsoft के C/C++ 7.0 संकलक के साथ विंडोज के 16-बिट संस्करणों के साथ विंडोज एपीआई के लिए एक बेहद पतले ऑब्जेक्ट-ओरिएंटेड C++ रैपर के रूप में पेश किया गया था। उस समय वाणिज्यिक अनुप्रयोग सॉफ़्टवेयर के विकास के लिए C++ ने C (प्रोग्रामिंग भाषा) को प्रतिस्थापित करना शुरू ही किया था। MFC प्रोग्राम में, सीधे Windows API कॉल की बहुत कम आवश्यकता होती है। इसके बजाय, प्रोग्राम Microsoft Foundation क्लास क्लास से ऑब्जेक्ट बनाते हैं और उन ऑब्जेक्ट से संबंधित सदस्य फ़ंक्शन को कॉल करते हैं। उन कार्यों में से कई अपने नाम संबंधित एपीआई कार्यों के साथ साझा करते हैं।[2] MFC की एक विचित्रता कई कार्यों, मैक्रोज़ और मानक पूर्वसंकलित हेडर नाम stdafx.h के लिए उपसर्ग के रूप में Afx का उपयोग है। शुरुआती विकास के दौरान, जो एमएफसी बन गया उसे एप्लिकेशन फ्रेमवर्क एक्सटेंशन और संक्षिप्त एफ़एक्स कहा जाता था। Microsoft Foundation Classes (MFC) नाम को इन संदर्भों को बदलने के लिए रिलीज़ चक्र में बहुत देर से अपनाया गया था।
MFC 8.0 को Visual Studio 2005 के साथ रिलीज़ किया गया था। MFC 9.0 को Visual Studio 2008 के साथ रिलीज़ किया गया था। 7 अप्रैल, 2008 को Microsoft ने Visual Studio 2008 और MFC 9 के आउट-ऑफ-बैंड अपडेट के रूप में MFC कक्षाओं के लिए एक अपडेट जारी किया।[3] अद्यतन में रिबन (कंप्यूटिंग) और संबंधित यूआई वेब विजेट, पूरी तरह से अनुकूलन योग्य उपकरण पट्टी , डॉकिंग पैन सहित नए यूजर इंटरफेस निर्माण शामिल हैं, जिन्हें या तो स्वतंत्र रूप से फ्लोट किया जा सकता है या किसी भी तरफ और टैब (जीयूआई) में डॉक किया जा सकता है।[4] एमएफसी शुरू में विजुअल स्टूडियो के व्यावसायिक संस्करणों की एक विशेषता थी। जैसे, यह फ्रीवेयर विजुअल सी ++ एक्सप्रेस में शामिल नहीं है।[5] हालांकि, 2014 में शुरू किए गए विजुअल स्टूडियो#कम्युनिटी में एमएफसी शामिल है।
ऑब्जेक्ट विंडोज लाइब्रेरी (ओडब्लूएल), जिसे बोर्लैंड के टर्बो सी ++ कंपाइलर के साथ उपयोग के लिए डिज़ाइन किया गया था, उसी समय बोर्लैंड द्वारा पेश किया गया एक प्रतिस्पर्धी उत्पाद था। आखिरकार, बोरलैंड ने ओडब्लूएल के विकास को बंद कर दिया और माइक्रोसॉफ्ट से एमएफसी हेडर, पुस्तकालयों और डीएलएल के वितरण को लाइसेंस दिया।[6] थोड़े समय के लिए, हालांकि इसने कभी भी MFC के लिए पूरी तरह से एकीकृत समर्थन की पेशकश नहीं की। बोरलैंड ने बाद में OWL फ्रेमवर्क को बदलने के लिए विजुअल कंपोनेंट लाइब्रेरी जारी की।
सुविधाएँ
एमएफसी एक पुस्तकालय है जो सी ++ वर्ग (कंप्यूटर प्रोग्रामिंग) में विंडोज एपीआई के रैपर लाइब्रेरी भाग है, जिसमें कार्यक्षमता शामिल है जो उन्हें डिफ़ॉल्ट आवेदन ढांचा का उपयोग करने में सक्षम बनाती है। कई हैंडल (कंप्यूटिंग)-प्रबंधित विंडोज़ ऑब्जेक्ट्स और पूर्वनिर्धारित विंडोज़ और सामान्य नियंत्रणों के लिए भी कक्षाएं परिभाषित की गई हैं।
इसकी शुरुआत के समय, MFC ने विंडोज मैसेज-हैंडलिंग (मैसेज मैप्स के माध्यम से) के लिए C++ मैक्रो (कंप्यूटर विज्ञान) प्रदान किया।[7] ), एक्सेप्शन हेंडलिंग , रन-टाइम प्रकार की जानकारी | रन-टाइम टाइप आइडेंटिफिकेशन (RTTI), क्रमबद्धता और डायनेमिक क्लास इंस्टेंटेशन। मैसेज-हैंडलिंग के लिए मैक्रोज़ का उद्देश्य अनावश्यक वर्चुअल टेबल उपयोग से बचकर मेमोरी की खपत को कम करना है और पूरी भाषा को पार्स किए बिना कोड को संपादित और हेरफेर करने के लिए विभिन्न विज़ुअल C++- आपूर्ति किए गए टूल के लिए अधिक ठोस संरचना प्रदान करना है। संदेश-हैंडलिंग मैक्रोज़ ने C++ द्वारा प्रदान किए गए आभासी समारोह तंत्र को बदल दिया।
क्रमांकन, अपवाद और RTTI के लिए मैक्रोज़ ने Microsoft C++ में इन सुविधाओं की उपलब्धता को कई वर्षों से पूर्व निर्धारित किया है। विंडोज एनटी 3.1 और बाद में विंडोज ऑपरेटिंग सिस्टम के लिए एमएफसी के 32-बिट संस्करण, कंपाइलर्स का इस्तेमाल करते हैं जो भाषा सुविधाओं को लागू करते हैं और मैक्रोज़ को केवल अनुकूलित कार्यान्वयन प्रदान करने के बजाय भाषा सुविधाओं को लपेटने के लिए अद्यतन करते हैं, ऊपर की ओर संगतता को महसूस करते हैं।
एमएफसी रिबन रिसोर्स एडिटर डेवलपर को रिबनएक्स एपीआई जैसे एक्सएमएल-आधारित घोषणात्मक मार्कअप का उपयोग करने के बजाय ग्राफिक रूप से रिबन डिजाइन करने की अनुमति देता है। वैकल्पिक रूप से, रिबन घटकों को सीधे रिबन क्लास विधियों के एक नए सेट को कॉल करके प्रोग्राम किया जा सकता है। डेवलपर सुविधाजनक होने पर ग्राफिकल और प्रोग्रामेटिक रिबन विकास को मिला सकता है। MFC एप्लिकेशन विज़ार्ड को भी नई सुविधाओं का समर्थन करने के लिए अपग्रेड किया गया है, जिसमें यह चुनने के लिए चेक-बॉक्स शामिल है कि एप्लिकेशन रिबन या डॉकिंग पैन का उपयोग करेगा या नहीं। नई कार्यक्षमता नई कक्षाओं में प्रदान की जाती है ताकि पुराने अनुप्रयोग अभी भी चलते रहें।[4]यह अपडेट बीसीजीसॉफ्ट के बीसीजीकंट्रोलबार लाइब्रेरी प्रोफेशनल एडिशन पर बन रहा है।[8] Microsoft ने रिबन के उपयोगकर्ताओं पर अतिरिक्त लाइसेंसिंग आवश्यकताएँ लागू की हैं।[9] इनमें Microsoft UI डिज़ाइन दिशानिर्देशों का पालन करने की आवश्यकता और Microsoft Office के साथ प्रतिस्पर्धा करने वाले अनुप्रयोगों में UI के उपयोग को प्रतिबंधित करने वाला एक प्रतिस्पर्धा-विरोधी खंड शामिल है।
MFC का उपयोग स्थिर पुस्तकालय को लिंक करके या MFC डायनामिक-लिंक लाइब्रेरी को जोड़कर किया जा सकता है।
संस्करण
Product | Library | Version | Release date | |
---|---|---|---|---|
Name | Version | |||
Microsoft C/C++ 7.0 | mafxcw.lib | MFC 1.0 | 1992 | |
Microsoft Visual C++ 1.0 | Visual C++ 1.0 | mfc200.dll | MFC 2.0 | |
Visual C++ 1.5 | mfc250.dll | MFC 2.5 | ||
Visual C++ 1.51 | mfc250.dll | MFC 2.51 | ||
Visual C++ 1.52c | mfc250.dll | MFC 2.5 (Last development platform for Windows 3.x) | ||
Microsoft Visual C++ 2.0 | Visual C++ 2.0 | mfc30.dll | MFC 3.0 | |
Visual C++ 2.1 | mfc30.dll | MFC 3.1 | ||
Visual C++ 2.2 | mfc30.dll | MFC 3.2 | ||
Microsoft Visual C++ 4.0 | Visual C++ 4.0 | mfc40.dll | MFC 4.0 (mfc40.dll included with Windows 95) | August 1995 |
Visual C++ 4.1 | mfc40.dll | MFC 4.1 | ||
Visual C++ 4.2 | mfc42.dll | MFC 4.2 (mfc42.dll included with the Windows 98 original release) | March 1998 | |
eMbedded Visual C++ 3.0 | mfc42.dll | MFC 4.2 | ||
Microsoft Visual C++ 5.0 | Visual C++ 5.0 | mfc42.dll | MFC 4.21, a major upgrade from MFC 4.2. | |
Microsoft Visual C++ 6.0 | Visual C++ 6.0 | mfc42.dll | MFC 6.0 | 1998 |
eMbedded Visual C++ 4.0 | mfcce400.dll | MFC 6.0 | ||
Microsoft Visual C++ .NET 2002 | Visual C++ .NET 2002 (Visual C++ 7.0) | mfc70.dll | MFC 7.0 | February 13, 2002 |
Microsoft Visual C++ .NET 2003 | Visual C++ .NET 2003 (Visual C++ 7.1) | mfc71.dll | MFC 7.1 | April 24, 2003 |
Visual C++ .NET 2003 + MS11-025 (KB2465373)[10] | MFC 7.10.6119.0 | April 12, 2011 | ||
Microsoft Visual C++ 2005 | Visual C++ 2005 (Visual C++ 8.0) | mfc80.dll | 8.0.50727.42 | April 10, 2006 |
Visual C++ 2005 SP1 | 8.0.50727.762 | August 27, 2007 | ||
Visual C++ 2005 SP1 + MS09-035 (KB973544)[11][12] | 8.0.50727.4053 | July 28, 2009 | ||
Visual C++ 2005 SP1 + MS11-025 (KB2467175)[10] | 8.0.50727.5592 | April 12, 2011 | ||
Visual C++ 2005 SP1 + MS11-025 (KB2538242)[10][13] | 8.0.50727.6195 (included in redist 8.0.61000/8.0.61001[14]) | June 14, 2011 | ||
Visual C++ 2005 SP1 + MS11-025 (KB2643995)[15][16] | 8.0.50727.6229 | 2021-01-25? | ||
Microsoft Visual C++ 2008 | Visual C++ 2008 (Visual C++ 9.0) | mfc90.dll | 9.0.21022.8 | November 19, 2007 |
Visual C++ 2008 + MS09-035 (KB973551)[11][12] | 9.0.21022.218 | July 28, 2009 | ||
Visual C++ 2008 with Feature Pack | 9.0.30411 | April 22, 2008 | ||
Visual C++ 2008 SP1 | 9.0.30729.1 | August 11, 2008 | ||
Visual C++ 2008 SP1 + MS09-035 (KB973552)[11][12] | 9.0.30729.4148 | July 28, 2009 | ||
Visual C++ 2008 SP1 + MS11-025 (KB2467174)[10] | 9.0.30729.5570 | April 12, 2011 | ||
Visual C++ 2008 SP1 + MS11-025 (KB2538243)[10] | 9.0.30729.6161 (installer has version 9.0.30729.5677) | June 14, 2011 | ||
Microsoft Visual C++ 2010 | Visual C++ 2010 (Visual C++ 10.0) | mfc100.dll | 10.0.30319.1 | April 12, 2010[17] |
Visual C++ 2010 + MS11-025 (KB2467173)[10] | 10.0.30319.415 | April 12, 2011 | ||
Visual C++ 2010 SP1 | 10.0.40219.1 | March 10, 2011 | ||
Visual C++ 2010 SP1 + MS11-025 (KB2565063)[10] | 10.0.40219.325 | August 9, 2011 | ||
Microsoft Visual C++ 2012 | Visual C++ 2012 (Visual C++ 11.0) | mfc110.dll | 11.0.50727.1 | September 12, 2012 |
Visual C++ 2012 Update 1 | 11.0.51106.1 | November 26, 2012 | ||
Visual C++ 2012 Update 3 | 11.0.60610.1 | June 26, 2013 | ||
Visual C++ 2012 Update 4 | 11.0.61030.0 | November 13, 2013 | ||
Microsoft Visual C++ 2013 | Visual C++ 2013 (Visual C++ 12.0) | mfc120.dll | 12.0.21005.1 | October 17, 2013 |
Visual C++ 2013 Update 2 | 12.0.30501.0 | May 12, 2014 | ||
Visual C++ 2013 Update 5 + KB3138367 | 12.0.40649.5 | February 2016?[18][16] | ||
Visual C++ 2013 Update 5 + KB3179560 | 12.0.40660.0 | July 8, 2016[19] | ||
Visual C++ 2013 Update 5 + KB4032938 | 12.0.40664.0 | July 18, 2017[20] | ||
Microsoft Visual C++ 2015 | Visual C++ 2015 (Visual C++ 14.0) | mfc140.dll | 14.0.23026.0 | July 20, 2015 |
Visual C++ 2015 Update 1 | 14.0.23506.0 | November 30, 2015[21] | ||
Visual C++ 2015 Update 2 | 14.0.23918.0 | March 30, 2016[22] | ||
Visual C++ 2015 Update 3 | 14.0.24210.0 | June 27, 2016[23] | ||
Visual C++ 2015 Update 3 | 14.0.24212.0 | August 18, 2016 | ||
Visual C++ 2015 Update 3 + KB3165756 | 14.0.24215.1 | September 15, 2016[24] | ||
Visual C++ 2015 Update 3 | 14.0.24516.0 | October 23, 2021 | ||
Microsoft Visual C++ 2017 | Visual C++ 15.0 | mfc140.dll | 14.10.25008.0 | March 7, 2017 |
Visual C++ 15.1? | 14.10.25017.0 | April 5, 2017? | ||
Visual C++ 15.2 | 14.11.25325.0 | May 10, 2017 | ||
Visual C++ 15.4 | 14.12.25810.0 | October 9, 2017 | ||
Visual C++ 15.6 | 14.13.26020.0 | March 5, 2018 | ||
Visual C++ 15.7 | 14.14.26405.0 | May 7, 2018 | ||
Visual C++ 15.7.3? | 14.14.26429.4 | May 31, 2018 | ||
Visual C++ 15.8 | 14.15.26706.0 | August 14, 2018 | ||
Visual C++ 15.9 | 14.16.27012.6 | November 13, 2018 | ||
Visual C++ 15.9.5 | 14.16.27024.1 | January 8, 2019 | ||
Visual C++ 15.9.6 | 14.16.27026.1 | January 24, 2019 | ||
Visual C++ 15.9.9 | 14.16.27027.1 | March 12, 2019 | ||
Visual C++ 15.9.15 | 14.16.27033.0 | August 13, 2019 | ||
Microsoft Visual C++ 2019 | Visual C++ 16.0.0 | mfc140.dll | 14.20.27508.1 | April 2, 2019? |
Visual C++ 16.1.0 | 14.21.27702.2 | May 21, 2019 | ||
Visual C++ 16.2.0 | 14.22.27821.0 | July 24, 2019 | ||
Visual C++ 16.3.0 | 14.23.27820.0 | September 23, 2019 | ||
Visual C++ 16.4.0 | 14.24.28127.4 | December 3, 2019 | ||
Visual C++ 16.5.0 | 14.25.28508.3 | March 16, 2020 | ||
Visual C++ 16.6.0 | 14.26.28720.3 | May 19, 2020 | ||
Visual C++ 16.6.3 | 14.26.28808.1 | June 30, 2020 | ||
Visual C++ 16.7.0 | 14.27.29016.0 | August 5, 2020 | ||
Visual C++ 16.7.5 | 14.27.29112.0 | September 29, 2020 | ||
Visual C++ 16.7.8 | 14.27.29114.0[note 1] | November 10, 2020 | ||
Visual C++ 16.8.0 | 14.28.29325.2 | November 10, 2020 | ||
Visual C++ 16.8.2 | 14.28.29334.0 | November 19, 2020 | ||
Visual C++ 16.9.0 | 14.28.29910.0 | March 2, 2021 | ||
Visual C++ 16.9.2 | 14.28.29913.0 | March 16, 2021 | ||
Visual C++ 16.9.4 | 14.28.29914.0 | April 13, 2021 | ||
Visual C++ 16.10.0 | 14.29.30037.0 | May 25, 2021 | ||
Visual C++ 16.10.2 | 14.29.30038.0 | June 15, 2021 | ||
Visual C++ 16.10.4 | 14.29.30040.0 | July 20, 2021 | ||
Visual C++ 16.11.0 | 14.29.30133.0 | August 10, 2021 | ||
Visual C++ 16.11.4 | 14.29.30135.0 | October 5, 2021 | ||
Visual C++ 16.11.9 | 14.29.30319.0 | January 11, 2022 | ||
Microsoft Visual C++ 2022 | Visual C++ 17.0.0RC | mfc140.dll | 14.30.30704.0 | October 13, 2021 |
Visual C++ 17.0.5 | 14.31.30708.0 | January 14, 2022 | ||
Visual C++ 17.1.0 | 14.31.30818.0 | October 27, 2021 | ||
Visual C++ 17.1.0 | 14.31.30919.0 | December 23, 2021 | ||
Visual C++ 17.1.0 | 14.31.31005.0 | January 26, 2022 | ||
Visual C++ 17.1.0 | 14.31.31103.0 | January 26, 2022 | ||
Visual C++ 17.2.0 | 14.32.31302.0 | March 17, 2022 | ||
Visual C++ 17.2.0 | 14.32.31326.0 | April 9, 2022 | ||
Visual C++ 17.2.5 | 14.32.31332.0 | July 1, 2022 | ||
Visual C++ 17.4.0 | 14.34.31931.0 | November 9, 2022 | ||
Visual C++ 17.4.5 | 14.34.31938.0 | February 14, 2023 |
यह भी देखें
- सक्रिय टेम्पलेट लाइब्रेरी (एटीएल)
- जीएलआईबी
- जीटीके
- gtkmm
- रस
- क्यूटी (सॉफ्टवेयर)
- मानक टेम्पलेट लाइब्रेरी (STL)
- विंडोज टेम्पलेट लाइब्रेरी (डब्ल्यूटीएल)
- Wxविजेट
टिप्पणियाँ
- ↑ Last version of library officially supporting Windows XP.[25]
संदर्भ
- ↑ "Visual Studio 2019 Release Notes". Msdn.microsoft.com. Retrieved July 24, 2019.
- ↑ Visual C++ Express Overview
- ↑ "Visual C++ 2008 Feature Pack shipped". Blogs.msdn.com. Retrieved April 26, 2008.
- ↑ 4.0 4.1 "नई MFC कार्यक्षमता का त्वरित दौरा". Blogs.msdn.com. Retrieved September 10, 2019.
- ↑ "विजुअल स्टूडियो एक्सप्रेस संस्करण अक्सर पूछे जाने वाले प्रश्न". Microsoft.com. Archived from the original on June 11, 2011. Retrieved January 6, 2012.
- ↑ "Microsoft Inprise में खरीदता है, विवाद सुलझाता है". Techweb.com. Archived from the original on October 17, 2007. Retrieved January 6, 2012.
- ↑ Williams, Mickey; David Bennett. "अपना खुद का संदेश मानचित्र बनाना". Inform IT.
- ↑ "बीसीजीसॉफ्ट द्वारा संचालित एमएफसी अपडेट". Msdn2.microsoft.com. Retrieved November 16, 2007.
- ↑ "Visual C++ 2008 Feature Pack Release Download Page". Microsoft.com. Retrieved May 16, 2008.
- ↑ 10.0 10.1 10.2 10.3 10.4 10.5 10.6 "MS11-025: Vulnerability in Microsoft Foundation Class (MFC) Library could allow remote code execution: April 12, 2011". Microsoft.com. Retrieved June 10, 2019.
- ↑ 11.0 11.1 11.2 "Microsoft Security Bulletin MS09-035 - Moderate: Vulnerabilities in Visual Studio Active Template Library Could Allow Remote Code Execution (969706)". Microsoft.com. Retrieved November 19, 2012.
- ↑ 12.0 12.1 12.2 "Protect your computer from the Active Template Library (ATL) security vulnerability". Archived from the original on October 26, 2010. Retrieved October 29, 2010.
- ↑ "Microsoft Visual Studio 2005 Service Pack 1 MFC Security Update". Microsoft.com. Retrieved November 19, 2012.
- ↑ "Where can I download Visual C++ Redistributables?". Retrieved June 10, 2019.
- ↑ "FIX: "HRESULT: 0x80073715" error when you install an application by using an .msi file if the file is merged with merge modules for the Visual C++ 2005 runtime library". Microsoft.com. 2021-01-25.
- ↑ 16.0 16.1 vcredist/source_links/README.md > Source Links Archive
- ↑ "Visual C++ - Exploring New C++ and MFC Features in Visual Studio 2010". Msdn.microsoft.com. Retrieved November 19, 2012.
- ↑ "Update for Visual C++ 2013 and Visual C++ Redistributable Package". Msdn.microsoft.com. Retrieved January 8, 2017.
- ↑ "Update for Visual C++ 2013 and Visual C++ Redistributable Package". Msdn.microsoft.com. Retrieved January 8, 2017.
- ↑ "Update for Visual C++ 2013 Redistributable Package". Retrieved June 10, 2019.
- ↑ "Visual Studio 2015 Update 1". Msdn.microsoft.com. Retrieved June 12, 2016.
- ↑ "Visual Studio 2015 Update 2". Msdn.microsoft.com. Retrieved June 12, 2016.
- ↑ "Visual Studio 2015 Update 3". Msdn.microsoft.com. Retrieved June 28, 2016.
- ↑ "Microsoft Visual Studio 2015 Update 3 (KB3165756)". Msdn.microsoft.com. Retrieved August 28, 2016.
- ↑ C++ binary compatibility between Visual Studio versions
अग्रिम पठन
- Prosise, Jeff (1999). Programming Windows with MFC (2 ed.). Microsoft Press. ISBN 9781572316959.
- Shepherd, George (1996). MFC Internals (7 ed.). Addison-Wesley. ISBN 9780201407211.
- Kruglinski, David (1997). Inside Visual C++ (4 ed.). Microsoft Press. ISBN 9781572315655.
- Microsoft (1995). Microsoft Visual C++: Programming with MFC (2 ed.). Microsoft Press. ISBN 9781556159213.
बाहरी संबंध
- The latest supported Visual C++ downloads - Microsoft
- Where can I download Visual C++ Redistributables? - Microsoft
- MSDN MFC Reference - Microsoft
- MFC: Visual Studio 2005 and Beyond - Microsoft
- An Inside Look At The Next Generation Of Visual C++ (covers the major MFC 9 updates) - Microsoft