माइक्रोसॉफ्ट फाउंडेशन क्लास लाइब्रेरी

From Vigyanwiki
माइक्रोसॉफ्ट फाउंडेशन क्लास लाइब्रेरी
Developer(s)माइक्रोसॉफ्ट
Stable release
14.22.27821.0 / July 24, 2019[1]
Written inC++
Operating systemमाइक्रोसॉफ़्ट विंडोज़
Licenseप्रोपर्टी
Websitedocs.microsoft.com/en-us/cpp/mfc/mfc-desktop-applications

माइक्रोसॉफ्ट फाउंडेशन क्लास लाइब्रेरी (एमएफसी) विंडोज के लिए डेस्कटॉप एप्लिकेशन विकसित करने के लिए सी ++ ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग लाइब्रेरी (कंप्यूटर विज्ञान) है।

एमएफसी को माइक्रोसॉफ्ट द्वारा 1992 में प्रस्तुत किया गया था और जल्दी से इसका व्यापक उपयोग हुआ था। जबकि माइक्रोसॉफ्ट ने तब से वैकल्पिक अनुप्रयोग रूपरेखा प्रस्तुत किए हैं | एमएफसी का व्यापक रूप से उपयोग किया जाता है।

इतिहास

एमएफसी को 1992 में माइक्रोसॉफ्ट के सी/सी++ 7.0 संकलक के साथ विंडोज के 16-बिट संस्करणों के साथ विंडोज एपीआई के लिए अत्यधिक पतले ऑब्जेक्ट-ओरिएंटेड सी++ रैपर के रूप में प्रस्तुत किया गया था। उस समय वाणिज्यिक अनुप्रयोग सॉफ़्टवेयर के विकास के लिए सी++ ने सी (प्रोग्रामिंग भाषा) को प्रतिस्थापित करना प्रारंभ ही किया था। एमएफसी प्रोग्राम में, सीधे विंडोज एपीआई कॉल की बहुत कम आवश्यकता होती है। इसके अतिरिक्त, प्रोग्राम माइक्रोसॉफ्ट फाउंडेशन से ऑब्जेक्ट बनाते हैं और उन ऑब्जेक्ट से संबंधित सदस्य फ़ंक्शन को कॉल करते हैं। उन कार्यों में से कई अपने नाम संबंधित एपीआई कार्यों के साथ साझा करते हैं।[2]

एमएफसी की विचित्रता कई कार्यों, मैक्रोज़ और मानक पूर्वसंकलित हेडर नाम stdafx.h के लिए उपसर्ग के रूप में Afx का उपयोग है। प्रारंभिक विकास के समय, जो एमएफसी बन गया उसे एप्लिकेशन फ्रेमवर्क एक्सटेंशन और संक्षिप्त एफ़एक्स कहा जाता था। माइक्रोसॉफ्ट फाउंडेशन क्लास (एमएफसी) नाम को इन संदर्भों को बदलने के लिए रिलीज़ चक्र में बहुत देर से अपनाया गया था।

एमएफसी 8.0 को विजुअल स्टूडियो 2005 के साथ रिलीज़ किया गया था। एमएफसी 9.0 को विजुअल स्टूडियो 2008 के साथ रिलीज़ किया गया था। 7 अप्रैल, 2008 को माइक्रोसॉफ्ट ने विजुअल स्टूडियो 2008 और एमएफसी 9 के आउट-ऑफ-बैंड अपडेट के रूप में एमएफसी कक्षाओं के लिए अपडेट जारी किया था।[3] अपडेट में रिबन (कंप्यूटिंग) और संबंधित यूआई वेब विजेट, पूरी तरह से अनुकूलन योग्य उपकरण पट्टी , डॉकिंग पैन सहित नए यूजर इंटरफेस निर्माण सम्मिलित हैं | जिन्हें या तो स्वतंत्र रूप से फ्लोट किया जा सकता है या किसी भी तरफ और टैब (जीयूआई) में डॉक किया जा सकता है।[4] एमएफसी प्रारंभ में विजुअल स्टूडियो के व्यावसायिक संस्करणों की विशेषता थी। जैसे, यह फ्रीवेयर विजुअल सी ++ एक्सप्रेस में सम्मिलित नहीं है।[5] चूँकि, 2014 में प्रारंभ किए गए विजुअल स्टूडियो कम्युनिटी में एमएफसी सम्मिलित है।

ऑब्जेक्ट विंडोज लाइब्रेरी (ओडब्लूएल), जिसे बोर्लैंड के टर्बो सी ++ कंपाइलर के साथ उपयोग के लिए रचना किया गया था | उसी समय बोर्लैंड द्वारा प्रस्तुत किया गया प्रतिस्पर्धी उत्पाद था। बोरलैंड ने ओडब्लूएल के विकास को बंद कर दिया और माइक्रोसॉफ्ट से एमएफसी हेडर, लाइब्रेरी और डीएलएल के वितरण को लाइसेंस दिया।[6] थोड़े समय के लिए, चूँकि इसने कभी भी एमएफसी के लिए पूरी तरह से एकीकृत समर्थन की प्रस्तुति नहीं की थी। बोरलैंड ने बाद में ओडब्ल्यूएल फ्रेमवर्क को बदलने के लिए विजुअल कंपोनेंट लाइब्रेरी जारी किया था।

विशेषताएँ

एमएफसी लाइब्रेरी है जो सी ++ वर्ग (कंप्यूटर प्रोग्रामिंग) में विंडोज एपीआई के रैपर लाइब्रेरी भाग है | जिसमें कार्यक्षमता सम्मिलित है | जो उन्हें डिफ़ॉल्ट एप्लीकेशन रुपरेखा का उपयोग करने में सक्षम बनाती है। कई हैंडल (कंप्यूटिंग) प्रबंधित विंडोज़ ऑब्जेक्ट्स और पूर्वनिर्धारित विंडोज़ और सामान्य नियंत्रणों के लिए भी कक्षाएं परिभाषित की गई हैं।

इसकी प्रारंभ के समय, एमएफसी ने विंडोज मैसेज-हैंडलिंग (मैसेज मैप्स के माध्यम से) के लिए सी++ मैक्रो (कंप्यूटर विज्ञान) प्रदान किया था।[7] एक्सेप्शन हेंडलिंग , रन-टाइम टाइप आइडेंटिफिकेशन (आरटीटीआई), क्रमबद्धता और डायनेमिक क्लास इंस्टेंटेशन मैसेज-हैंडलिंग के लिए मैक्रोज़ का उद्देश्य अनावश्यक वर्चुअल टेबल उपयोग से बचकर मेमोरी की क्षय को कम करना है और पूरी भाषा को पार्स किए बिना कोड को संपादित और हेरफेर करने के लिए विभिन्न विज़ुअल सी++- आपूर्ति किए गए टूल के लिए अधिक ठोस संरचना प्रदान करना है। संदेश-हैंडलिंग मैक्रोज़ ने सी++ द्वारा प्रदान किए गए वर्चुअल फ़ंक्शन तंत्र को बदल दिया था।

क्रमांकन, अपवाद और आरटीटीआई के लिए मैक्रोज़ ने माइक्रोसॉफ्ट सी++ में इन सुविधाओं की उपलब्धता को कई वर्षों से पूर्व निर्धारित किया है। विंडोज एनटी 3.1 और बाद में विंडोज ऑपरेटिंग सिस्टम के लिए एमएफसी के 32-बिट वर्जन, कंपाइलर्स का उपयोग करते हैं | जो भाषा सुविधाओं को प्रयुक्त करते हैं और मैक्रोज़ को केवल अनुकूलित कार्यान्वयन प्रदान करने के अतिरिक्त भाषा सुविधाओं को लपेटने के लिए अपडेट करते हैं | ऊपर की ओर संगतता को अनुभव करते हैं।

एमएफसी रिबन रिसोर्स एडिटर डेवलपर को रिबनएक्स एपीआई जैसे एक्सएमएल-आधारित घोषणात्मक मार्कअप का उपयोग करने के अतिरिक्त ग्राफिक रूप से रिबन डिजाइन करने की अनुमति देता है। वैकल्पिक रूप से, रिबन घटकों को सीधे रिबन क्लास विधियों के नए सेट को कॉल करके प्रोग्राम किया जा सकता है। डेवलपर सुविधाजनक होने पर ग्राफिकल और प्रोग्रामेटिक रिबन विकास को मिला सकता है। एमएफसी एप्लिकेशन विज़ार्ड को भी नई सुविधाओं का समर्थन करने के लिए अपग्रेड किया गया है | जिसमें यह चुनने के लिए चेक-बॉक्स सम्मिलित है कि एप्लिकेशन रिबन या डॉकिंग पैन का उपयोग करेगा या नहीं करेगा। नई कार्यक्षमता नई कक्षाओं में प्रदान की जाती है | जिससे पुराने अनुप्रयोग अभी भी चलते रहें है।[4] यह अपडेट बीसीजीसॉफ्ट के बीसीजीकंट्रोलबार लाइब्रेरी प्रोफेशनल एडिशन पर बन रहा है।[8] माइक्रोसॉफ्ट ने रिबन के उपयोगकर्ताओं पर अतिरिक्त लाइसेंसिंग आवश्यकताएँ प्रयुक्त की हैं।[9] इनमें माइक्रोसॉफ्ट यूआई रचना दिशानिर्देशों का पालन करने की आवश्यकता और माइक्रोसॉफ्ट ऑफिस के साथ प्रतिस्पर्धा करने वाले अनुप्रयोगों में यूआई के उपयोग को प्रतिबंधित करने वाला प्रतिस्पर्धा-विरोधी खंड सम्मिलित है।

एमएफसी का उपयोग स्थिर लाइब्रेरी को लिंक करके या एमएफसी डायनामिक-लिंक लाइब्रेरी को जोड़कर किया जा सकता है।

वर्जन

प्रोडक्ट लाइब्रेरी वर्जन रिलीज़ की तारीख
नाम वर्जन
माइक्रोसॉफ्ट सी/सी++ 7.0 mafxcw.lib एमएफसी 1.0 1992
माइक्रोसॉफ्ट विजुअल सी++ 1.0 विजुअल सी++ 1.0 mfc200.dll एमएफसी 2.0
विजुअल सी++ 1.5 mfc250.dll एमएफसी 2.5
विजुअल सी++ 1.51 mfc250.dll एमएफसी 2.51
विजुअल सी++ 1.52c mfc250.dll एमएफसी 2.5 (अंतिम डवलप प्लेटफार्म के लिए विंडोज 3.x)
माइक्रोसॉफ्ट विजुअल सी++ 2.0 विजुअल सी++ 2.0 mfc30.dll एमएफसी 3.0
विजुअल सी++ 2.1 mfc30.dll एमएफसी 3.1
विजुअल सी++ 2.2 mfc30.dll एमएफसी 3.2
माइक्रोसॉफ्ट विजुअल सी++ 4.0 विजुअल सी++ 4.0 mfc40.dll एमएफसी 4.0 (mfc40.dll के साथ सम्मिलित है विंडोज 95) अगस्त 1995
विजुअल सी++ 4.1 mfc40.dll एमएफसी 4.1
विजुअल सी++ 4.2 mfc42.dll एमएफसी 4.2 (mfc42.dll के साथ सम्मिलित है विंडोज 98 वास्तविक release) मार्च 1998
एम्बेडेड विजुअल सी++ 3.0 mfc42.dll एमएफसी 4.2
माइक्रोसॉफ्ट विजुअल सी++ 5.0 विजुअल सी++ 5.0 mfc42.dll एमएफसी 4.21, से एक बड़ा अपग्रेड एमएफसी 4.2.
माइक्रोसॉफ्ट विजुअल सी++ 6.0 विजुअल सी++ 6.0 mfc42.dll एमएफसी 6.0 1998
एम्बेडेड विजुअल सी++ 4.0 mfcce400.dll एमएफसी 6.0
माइक्रोसॉफ्ट विजुअल सी++ .नेट 2002 विजुअल सी++ .नेट 2002 (विजुअल सी++ 7.0) mfc70.dll एमएफसी 7.0 फरवरी 13, 2002
माइक्रोसॉफ्ट विजुअल सी++ .नेट 2003 विजुअल सी++ .नेट 2003 (विजुअल सी++ 7.1) mfc71.dll एमएफसी 7.1 अप्रैल 24, 2003
विजुअल सी++ .नेट 2003 + MS11-025 (KB2465373)[10] एमएफसी 7.10.6119.0 अप्रैल 12, 2011
माइक्रोसॉफ्ट विजुअल सी++ 2005 विजुअल सी++ 2005 (विजुअल सी++ 8.0) mfc80.dll 8.0.50727.42 अप्रैल 10, 2006
विजुअल सी++ 2005 SP1 8.0.50727.762 अगस्त 27, 2007
विजुअल सी++ 2005 SP1 + MS09-035 (KB973544)[11][12] 8.0.50727.4053 जुलाई 28, 2009
विजुअल सी++ 2005 SP1 + MS11-025 (KB2467175)[10] 8.0.50727.5592 अप्रैल 12, 2011
विजुअल सी++ 2005 SP1 + MS11-025 (KB2538242)[10][13] 8.0.50727.6195 (रेडिस्ट में सम्मिलित 8.0.61000/8.0.61001[14]) जून 14, 2011
विजुअल सी++ 2005 SP1 + MS11-025 (KB2643995)[15][16] 8.0.50727.6229 2021-01-25?
माइक्रोसॉफ्ट विजुअल सी++ 2008 विजुअल सी++ 2008 (विजुअल सी++ 9.0) mfc90.dll 9.0.21022.8 नवंबर 19, 2007
विजुअल सी++ 2008 + MS09-035 (KB973551)[11][12] 9.0.21022.218 जुलाई 28, 2009
विजुअल सी++ 2008 फीचर पैक के साथ 9.0.30411 अप्रैल 22, 2008
विजुअल सी++ 2008 SP1 9.0.30729.1 अगस्त 11, 2008
विजुअल सी++ 2008 SP1 + MS09-035 (KB973552)[11][12] 9.0.30729.4148 जुलाई 28, 2009
विजुअल सी++ 2008 SP1 + MS11-025 (KB2467174)[10] 9.0.30729.5570 अप्रैल 12, 2011
विजुअल सी++ 2008 SP1 + MS11-025 (KB2538243)[10] 9.0.30729.6161 (इंस्टॉलर का वर्जन है 9.0.30729.5677) जून 14, 2011
माइक्रोसॉफ्ट विजुअल सी++ 2010 विजुअल सी++ 2010 (विजुअल सी++ 10.0) mfc100.dll 10.0.30319.1 अप्रैल 12, 2010[17]
विजुअल सी++ 2010 + MS11-025 (KB2467173)[10] 10.0.30319.415 अप्रैल 12, 2011
विजुअल सी++ 2010 SP1 10.0.40219.1 मार्च 10, 2011
विजुअल सी++ 2010 SP1 + MS11-025 (KB2565063)[10] 10.0.40219.325 अगस्त 9, 2011
माइक्रोसॉफ्ट विजुअल सी++ 2012 विजुअल सी++ 2012 (विजुअल सी++ 11.0) mfc110.dll 11.0.50727.1 सितंबर 12, 2012
विजुअल सी++ 2012 अपडेट 1 11.0.51106.1 नवंबर 26, 2012
विजुअल सी++ 2012 अपडेट 3 11.0.60610.1 जून 26, 2013
विजुअल सी++ 2012 अपडेट 4 11.0.61030.0 नवंबर 13, 2013
माइक्रोसॉफ्ट विजुअल सी++ 2013 विजुअल सी++ 2013 (विजुअल सी++ 12.0) mfc120.dll 12.0.21005.1 अक्टूबर 17, 2013
विजुअल सी++ 2013 अपडेट 2 12.0.30501.0 मई 12, 2014
विजुअल सी++ 2013 अपडेट 5 + KB3138367 12.0.40649.5 फरवरी 2016?[18][16]
विजुअल सी++ 2013 अपडेट 5 + KB3179560 12.0.40660.0 जुलाई 8, 2016[19]
विजुअल सी++ 2013 अपडेट 5 + KB4032938 12.0.40664.0 जुलाई 18, 2017[20]
माइक्रोसॉफ्ट विजुअल सी++ 2015 विजुअल सी++ 2015 (विजुअल सी++ 14.0) mfc140.dll 14.0.23026.0 जुलाई 20, 2015
विजुअल सी++ 2015 अपडेट 1 14.0.23506.0 नवंबर 30, 2015[21]
विजुअल सी++ 2015 अपडेट 2 14.0.23918.0 मार्च 30, 2016[22]
विजुअल सी++ 2015 अपडेट 3 14.0.24210.0 जून 27, 2016[23]
विजुअल सी++ 2015 अपडेट 3 14.0.24212.0 अगस्त 18, 2016
विजुअल सी++ 2015 अपडेट 3 + KB3165756 14.0.24215.1 सितंबर 15, 2016[24]
विजुअल सी++ 2015 अपडेट 3 14.0.24516.0 अक्टूबर 23, 2021
माइक्रोसॉफ्ट विजुअल सी++ 2017 विजुअल सी++ 15.0 mfc140.dll 14.10.25008.0 मार्च 7, 2017
विजुअल सी++ 15.1? 14.10.25017.0 अप्रैल 5, 2017?
विजुअल सी++ 15.2 14.11.25325.0 मई 10, 2017
विजुअल सी++ 15.4 14.12.25810.0 अक्टूबर 9, 2017
विजुअल सी++ 15.6 14.13.26020.0 मार्च 5, 2018
विजुअल सी++ 15.7 14.14.26405.0 मई 7, 2018
विजुअल सी++ 15.7.3? 14.14.26429.4 मई 31, 2018
विजुअल सी++ 15.8 14.15.26706.0 अगस्त 14, 2018
विजुअल सी++ 15.9 14.16.27012.6 नवंबर 13, 2018
विजुअल सी++ 15.9.5 14.16.27024.1 जनवरी 8, 2019
विजुअल सी++ 15.9.6 14.16.27026.1 जनवरी 24, 2019
विजुअल सी++ 15.9.9 14.16.27027.1 मार्च 12, 2019
विजुअल सी++ 15.9.15 14.16.27033.0 अगस्त 13, 2019
माइक्रोसॉफ्ट विजुअल सी++ 2019 विजुअल सी++ 16.0.0 mfc140.dll 14.20.27508.1 अप्रैल 2, 2019?
विजुअल सी++ 16.1.0 14.21.27702.2 मई 21, 2019
विजुअल सी++ 16.2.0 14.22.27821.0 जुलाई 24, 2019
विजुअल सी++ 16.3.0 14.23.27820.0 सितंबर 23, 2019
विजुअल सी++ 16.4.0 14.24.28127.4 दिसंबर 3, 2019
विजुअल सी++ 16.5.0 14.25.28508.3 मार्च 16, 2020
विजुअल सी++ 16.6.0 14.26.28720.3 मई 19, 2020
विजुअल सी++ 16.6.3 14.26.28808.1 जून 30, 2020
विजुअल सी++ 16.7.0 14.27.29016.0 अगस्त 5, 2020
विजुअल सी++ 16.7.5 14.27.29112.0 सितंबर 29, 2020
विजुअल सी++ 16.7.8 14.27.29114.0[note 1] नवंबर 10, 2020
विजुअल सी++ 16.8.0 14.28.29325.2 नवंबर 10, 2020
विजुअल सी++ 16.8.2 14.28.29334.0 नवंबर 19, 2020
विजुअल सी++ 16.9.0 14.28.29910.0 मार्च 2, 2021
विजुअल सी++ 16.9.2 14.28.29913.0 मार्च 16, 2021
विजुअल सी++ 16.9.4 14.28.29914.0 अप्रैल 13, 2021
विजुअल सी++ 16.10.0 14.29.30037.0 मई 25, 2021
विजुअल सी++ 16.10.2 14.29.30038.0 जून 15, 2021
विजुअल सी++ 16.10.4 14.29.30040.0 जुलाई 20, 2021
विजुअल सी++ 16.11.0 14.29.30133.0 अगस्त 10, 2021
विजुअल सी++ 16.11.4 14.29.30135.0 अक्टूबर 5, 2021
विजुअल सी++ 16.11.9 14.29.30319.0 जनवरी 11, 2022
माइक्रोसॉफ्ट विजुअल सी++ 2022 विजुअल सी++ 17.0.0RC mfc140.dll 14.30.30704.0 अक्टूबर 13, 2021
विजुअल सी++ 17.0.5 14.31.30708.0 जनवरी 14, 2022
विजुअल सी++ 17.1.0 14.31.30818.0 अक्टूबर 27, 2021
विजुअल सी++ 17.1.0 14.31.30919.0 दिसंबर 23, 2021
विजुअल सी++ 17.1.0 14.31.31005.0 जनवरी 26, 2022
विजुअल सी++ 17.1.0 14.31.31103.0 जनवरी 26, 2022
विजुअल सी++ 17.2.0 14.32.31302.0 मार्च 17, 2022
विजुअल सी++ 17.2.0 14.32.31326.0 अप्रैल 9, 2022
विजुअल सी++ 17.2.5 14.32.31332.0 जुलाई 1, 2022
विजुअल सी++ 17.4.0 14.34.31931.0 नवंबर 9, 2022
विजुअल सी++ 17.4.5 14.34.31938.0 फरवरी 14, 2023

यह भी देखें

टिप्पणियाँ

  1. Last version of library officially supporting Windows XP.[25]

संदर्भ

  1. "Visual Studio 2019 Release Notes". Msdn.microsoft.com. Retrieved July 24, 2019.
  2. Visual C++ Express Overview
  3. "Visual C++ 2008 Feature Pack shipped". Blogs.msdn.com. Retrieved April 26, 2008.
  4. 4.0 4.1 "नई MFC कार्यक्षमता का त्वरित दौरा". Blogs.msdn.com. Retrieved September 10, 2019.
  5. "विजुअल स्टूडियो एक्सप्रेस संस्करण अक्सर पूछे जाने वाले प्रश्न". Microsoft.com. Archived from the original on June 11, 2011. Retrieved January 6, 2012.
  6. "Microsoft Inprise में खरीदता है, विवाद सुलझाता है". Techweb.com. Archived from the original on October 17, 2007. Retrieved January 6, 2012.
  7. Williams, Mickey; David Bennett. "अपना खुद का संदेश मानचित्र बनाना". Inform IT.
  8. "बीसीजीसॉफ्ट द्वारा संचालित एमएफसी अपडेट". Msdn2.microsoft.com. Retrieved November 16, 2007.
  9. "Visual C++ 2008 Feature Pack Release Download Page". Microsoft.com. Retrieved May 16, 2008.
  10. 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. 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. 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.
  13. "Microsoft Visual Studio 2005 Service Pack 1 MFC Security Update". Microsoft.com. Retrieved November 19, 2012.
  14. "Where can I download Visual C++ Redistributables?". Retrieved June 10, 2019.
  15. "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. 16.0 16.1 vcredist/source_links/README.md > Source Links Archive
  17. "Visual C++ - Exploring New C++ and MFC Features in Visual Studio 2010". Msdn.microsoft.com. Retrieved November 19, 2012.
  18. "Update for Visual C++ 2013 and Visual C++ Redistributable Package". Msdn.microsoft.com. Retrieved January 8, 2017.
  19. "Update for Visual C++ 2013 and Visual C++ Redistributable Package". Msdn.microsoft.com. Retrieved January 8, 2017.
  20. "Update for Visual C++ 2013 Redistributable Package". Retrieved June 10, 2019.
  21. "Visual Studio 2015 Update 1". Msdn.microsoft.com. Retrieved June 12, 2016.
  22. "Visual Studio 2015 Update 2". Msdn.microsoft.com. Retrieved June 12, 2016.
  23. "Visual Studio 2015 Update 3". Msdn.microsoft.com. Retrieved June 28, 2016.
  24. "Microsoft Visual Studio 2015 Update 3 (KB3165756)". Msdn.microsoft.com. Retrieved August 28, 2016.
  25. C++ binary compatibility between Visual Studio versions

अग्रिम पठन

बाहरी संबंध