Microsoft Foundation Sınıf Kitaplığı - Microsoft Foundation Class Library

Microsoft Foundation Sınıf Kitaplığı
Geliştirici(ler) Microsoft
İlk sürüm 1992 ; 29 yıl önce ( 1992 )
kararlı sürüm
14.22.27821.0 / 24 Temmuz 2019
Yazılmış C++
İşletim sistemi Microsoft Windows
Lisans tescilli
İnternet sitesi docs .microsoft .com /tr-tr /cpp /mfc /mfc-desktop-applications

Microsoft Foundation Class Library (MFC), Windows için masaüstü uygulamaları geliştirmeye yönelik C++ nesne yönelimli bir kitaplıktır .

MFC, 1992 yılında Microsoft tarafından tanıtıldı ve hızla yaygın bir şekilde kullanıldı. Microsoft, o zamandan beri alternatif uygulama çerçeveleri sunsa da, MFC yaygın olarak kullanılmaya devam ediyor.

Tarih

MFC, Windows API için son derece ince bir nesne yönelimli C++ sarmalayıcısı olarak Windows'un 16 bit sürümleriyle kullanım için Microsoft'un C/C++ 7.0 derleyicisiyle 1992'de tanıtıldı . C++, o sırada ticari uygulama yazılımının geliştirilmesi için C'nin yerini almaya başlamıştı . Bir MFC programında, doğrudan Windows API çağrılarına nadiren ihtiyaç duyulur. Bunun yerine, programlar Microsoft Foundation Class sınıflarından nesneler oluşturur ve bu nesnelere ait üye işlevleri çağırır. Bu işlevlerin çoğu, adlarını karşılık gelen API işlevleriyle paylaşır.

MFC'nin bir tuhaflığı, birçok işlev, makro ve standart önceden derlenmiş başlık adı " stdafx.h" için önek olarak "Afx" kullanılmasıdır . Erken geliştirme sırasında, MFC haline gelen "Uygulama Çerçevesi Uzantıları" olarak adlandırıldı ve "Afx" olarak kısaltıldı. Microsoft Foundation Classes (MFC) adı, bu başvuruları değiştirmek için yayın döngüsünde çok geç kabul edildi.

MFC 8.0, Visual Studio 2005 ile birlikte yayımlanmıştır . MFC 9.0, Visual Studio 2008 ile birlikte yayımlandı. 7 Nisan 2008'de Microsoft , Visual Studio 2008 ve MFC 9 için bant dışı bir güncelleştirme olarak MFC sınıflarına yönelik bir güncelleştirme yayımladı . Güncelleştirme, şeritler dahil olmak üzere yeni kullanıcı arabirimi yapılarını içerir. ve ilişkili UI widget'ları , tamamen özelleştirilebilir araç çubukları , serbestçe yüzebilen veya herhangi bir tarafa sabitlenebilen yerleştirme bölmeleri ve belge sekmeleri .

MFC başlangıçta Visual Studio'nun ticari sürümlerinin bir özelliğiydi. Bu nedenle, ücretsiz Visual C++ Express'e dahil değildir . Visual Studio Topluluk baskısı 2014 yılında tanıtılan, ancak, MFC içerir.

Nesne, Windows Kitaplığı (OWL), Borland ile kullanılmak üzere tasarlanmış Turbo C ++ derleyici tarafından tanıtılan bir rakip ürünü Borland aynı zamanda etrafında. Sonunda, Borland OWL geliştirmeyi durdurdu ve MFC için tam entegre destek sunmamasına rağmen, kısa bir süre için MFC başlıklarının, kitaplıklarının ve DLL'lerinin Microsoft'tan dağıtımını lisansladı. Borland daha sonra OWL çerçevesini değiştirmek için Visual Component Library'yi yayınladı .

Özellikleri

MFC, varsayılan bir uygulama çerçevesi kullanmalarını sağlayan işlevsellik de dahil olmak üzere , Windows API'sinin bölümlerini C++ sınıflarına saran bir kitaplıktır . Sınıflar birçoğu için tanımlanan sap , Windows önceden pencere ve ortak kontroller için de nesneleri ve yönettiği.

MFC, piyasaya sürüldüğü sırada, Windows ileti işleme (Message Maps aracılığıyla), istisnalar , çalışma zamanı türü tanımlama (RTTI), serileştirme ve dinamik sınıf somutlaştırma için C++ makroları sağladı . İleti işleme makroları, gereksiz sanal tablo kullanımından kaçınarak bellek tüketimini azaltmayı ve ayrıca tam dili ayrıştırmadan kodu düzenlemek ve işlemek için Visual C++ tarafından sağlanan çeşitli araçlar için daha somut bir yapı sağlamayı amaçladı . Mesaj işleme makroları , C++ tarafından sağlanan sanal işlev mekanizmasının yerini aldı .

Serileştirme, özel durumlar ve RTTI makroları, bu özelliklerin Microsoft C++'da birkaç yıl önceden kullanılabilirliğini gösteriyordu. Windows NT 3.1 ve sonraki Windows işletim sistemleri için MFC'nin 32-bit sürümleri , dil özelliklerini uygulayan derleyiciler kullandı ve makroları, özelleştirilmiş uygulamalar sağlamak yerine dil özelliklerini sarmak için güncelleyerek yukarı uyumluluğu gerçekleştirdi.

MFC şerit kaynak düzenleyicisi, geliştiricinin RibbonX API gibi XML tabanlı bildirimsel işaretlemeyi kullanmak yerine şeridi grafiksel olarak tasarlamasına olanak tanır . İsteğe bağlı olarak, şerit bileşenleri, yeni bir şerit sınıfı yöntemleri kümesi çağrılarak doğrudan programlanabilir. Geliştirici, uygun olduğu şekilde grafik ve programatik şerit geliştirmeyi karıştırabilir. MFC uygulama sihirbazı, uygulamanın şeridi mi yoksa yerleştirme bölmelerini mi kullanacağını seçmek için bir onay kutusu da dahil olmak üzere yeni özellikleri destekleyecek şekilde yükseltildi. Yeni işlevsellik, eski uygulamaların çalışmaya devam etmesi için yeni sınıflarda sağlanır. Bu güncelleştirme üstünde inşa ediyor BCGSoft ‘ın BCGControlBar Kütüphane Professional Edition. Microsoft, şerit kullanıcılarına ek lisans gereksinimleri getirmiştir. Bunlar, Microsoft UI Tasarım Yönergelerine uyma zorunluluğunu ve Microsoft Office ile rekabet eden uygulamalarda UI kullanımını yasaklayan bir rekabet karşıtı maddeyi içerir .

MFC, statik bir kitaplık bağlanarak veya MFC DLL'si eklenerek kullanılabilir .

Sürümler

Ürün Kütüphane Sürüm Yayın tarihi
İsim Sürüm
Microsoft C/C++ 7.0 mafxcw.lib MFC 1.0 1992
Microsoft Visual C++ 1.0 Görsel C++ 1.0 mfc200.dll MFC 2.0
Görsel C++ 1.5 mfc250.dll MFC 2.5
Görsel C++ 1.51 mfc250.dll MFC 2.51
Görsel C++ 1.52c mfc250.dll MFC 2.5 ( Windows 3.x için son geliştirme platformu )
Microsoft Visual C++ 2.0 Görsel C++ 2.0 mfc30.dll MFC 3.0
Görsel C++ 2.1 mfc30.dll MFC 3.1
Görsel C++ 2.2 mfc30.dll MFC 3.2
Microsoft Visual C++ 4.0 Görsel C++ 4.0 mfc40.dll MFC 4.0 (mfc40.dll, Windows 95'te bulunur ) Ağustos 1995
Görsel C++ 4.1 mfc40.dll MFC 4.1
Görsel C++ 4.2 mfc42.dll MFC 4.2 (mfc42.dll, Windows 98 orijinal sürümüne dahildir) Mart 1998
eGömülü Visual C++ 3.0 mfc42.dll MFC 4.2
Microsoft Visual C++ 5.0 Görsel C++ 5.0 mfc42.dll MFC 4.21, MFC 4.2'den büyük bir yükseltme.
Microsoft Visual C++ 6.0 Görsel C++ 6.0 mfc42.dll MFC 6.0 1998
eGömülü 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 13 Şubat 2002
Microsoft Visual C++ .NET 2003 Visual C++ .NET 2003 (Visual C++ 7.1) mfc71.dll MFC 7.1 24 Nisan 2003
Visual C++ .NET 2003 + MS11-025 (KB2465373) MFC 7.10.6119.0 12 Nisan 2011
Microsoft Visual C++ 2005 Visual C++ 2005 (Visual C++ 8.0) mfc80.dll 8.0.50727.42 10 Nisan 2006
Görsel C++ 2005 SP1 8.0.50727.762 27 Ağustos 2007
Visual C++ 2005 SP1 + MS09-035 (KB973544) 8.0.50727.4053 28 Temmuz 2009
Visual C++ 2005 SP1 + MS11-025 (KB2467175) 8.0.50727.5592 12 Nisan 2011
Visual C++ 2005 SP1 + MS11-025 (KB2538242) 8.0.50727.6195 (8.0.61000/8.0.61001 redist dahil) 14 Haziran 2011
Microsoft Visual C++ 2008 Visual C++ 2008 (Visual C++ 9.0) mfc90.dll 9.0.21022.8 19 Kasım 2007
Visual C++ 2008 + MS09-035 (KB973551) 9.0.21022.218 28 Temmuz 2009
Özellik Paketi ile Visual C++ 2008 9.0.30411 22 Nisan 2008
Görsel C++ 2008 SP1 9.0.30729.1 11 Ağustos 2008
Visual C++ 2008 SP1 + MS09-035 (KB973552) 9.0.30729.4148 28 Temmuz 2009
Visual C++ 2008 SP1 + MS11-025 (KB2467174) 9.0.30729.5570 12 Nisan 2011
Visual C++ 2008 SP1 + MS11-025 (KB2538243) 9.0.30729.6161 (yükleyici 9.0.30729.5677 sürümüne sahiptir) 14 Haziran 2011
Microsoft Visual C++ 2010 Visual C++ 2010 (Visual C++ 10.0) mfc100.dll 10.0.30319.1 12 Nisan 2010
Visual C++ 2010 + MS11-025 (KB2467173) 10.0.30319.415 12 Nisan 2011
Görsel C++ 2010 SP1 10.0.40219.1 10 Mart 2011
Visual C++ 2010 SP1 + MS11-025 (KB2565063) 10.0.40219.325 9 Ağustos 2011
Microsoft Visual C++ 2012 Visual C++ 2012 (Visual C++ 11.0) mfc110.dll 11.0.50727.1 12 Eylül 2012
Visual C++ 2012 Güncelleme 1 11.0.51106.1 26 Kasım 2012
Visual C++ 2012 Güncelleme 3 11.0.660610.1 26 Haziran 2013
Visual C++ 2012 Güncelleme 4 11.0.61030.0 13 Kasım 2013
Microsoft Visual C++ 2013 Visual C++ 2013 (Visual C++ 12.0) mfc120.dll 12.0.21005.1 17 Ekim 2013
Visual C++ 2013 Güncelleştirmesi 2 12.0.3501.0 12 Mayıs 2014
Visual C++ 2013 Güncelleştirmesi 5 + KB3138367 12.0.40649.5 Şubat 2016?
Visual C++ 2013 Güncelleştirmesi 5 + KB3179560 12.0.40660.0 8 Temmuz 2016
Visual C++ 2013 Güncelleştirmesi 5 + KB4032938 12.0.40664.0 18 Temmuz 2017
Microsoft Visual C++ 2015 Visual C++ 2015 (Visual C++ 14.0) mfc140.dll 14.0.23026.0 20 Temmuz 2015
Visual C++ 2015 Güncellemesi 1 14.0.23506.0 30 Kasım 2015
Visual C++ 2015 Güncellemesi 2 14.0.23918.0 30 Mart 2016
Visual C++ 2015 Güncellemesi 3 14.0.24210.0 27 Haziran 2016
Visual C++ 2015 Güncellemesi 3 14.0.24212,0 18 Ağustos 2016
Visual C++ 2015 Güncellemesi 3 + KB3165756 14.0.24215.1 15 Eylül 2016
Microsoft Visual C++ 2017 Görsel C++ 15.0 mfc140.dll 14.10.25008.0 7 Mart 2017
Görsel C++ 15.1? 14.10.25017.0 5 Nisan 2017?
Görsel C++ 15.2 14.11.25325.0 10 Mayıs 2017
Görsel C++ 15.4 14.12.25810.0 9 Ekim 2017
Görsel C++ 15.6 14.13.26020.0 5 Mart 2018
Görsel C++ 15.7 14.14.26405.0 7 Mayıs 2018
Görsel C++ 15.7.3? 14.14.26429.4 31 Mayıs 2018
Görsel C++ 15.8 14.15.26706.0 14 Ağustos 2018
Görsel C++ 15.9 14.16.27012.6 13 Kasım 2018
Görsel C++ 15.9.5 14.16.27024.1 8 Ocak 2019
Görsel C++ 15.9.6 14.16.27026.1 24 Ocak 2019
Görsel C++ 15.9.9 14.16.27027.1 12 Mart 2019
Görsel C++ 15.9.15 14.16.27033.0 13 Ağustos 2019
Microsoft Visual C++ 2019 Görsel C++ 16.0.0 mfc140.dll 14.20.27508.1 2 Nisan 2019?
Görsel C++ 16.1.0 14.21.27702.2 21 Mayıs 2019
Görsel C++ 16.2.0 14.22.27821.0 24 Temmuz 2019
Görsel C++ 16.3.0 14.23.27820.0 23 Eylül 2019
Görsel C++ 16.4.0 14.24.28127.4 3 Aralık 2019
Görsel C++ 16.5.0 14.25.28508.3 16 Mart 2020
Görsel C++ 16.6.0 14.26.28720.3 19 Mayıs 2020
Görsel C++ 16.6.3 14.26.28808.1 30 Haziran 2020
Görsel C++ 16.7.0 14.27.29016.0 5 Ağustos 2020
Görsel C++ 16.7.5 14.27.29112.0 29 Eylül 2020
Görsel C++ 16.8.0 14.28.29325.2 10 Kasım 2020
Görsel C++ 16.8.2 14.28.29334.0 19 Kasım 2020
Görsel C++ 16.9.0 14.28.29910.0 2 Mart 2021
Visual C++ 16.9.2 14.28.29913.0 16 Mart 2021
Visual C++ 16.9.4 14.28.29914.0 13 Nisan 2021
Görsel C++ 16.10.0 14.29.30037.0 25 Mayıs 2021
Görsel C++ 16.10.2 14.29.30038,0 15 Haziran 2021
Görsel C++ 16.10.4 14.29.30040.0 20 Temmuz 2021
Görsel C++ 16.11.0 14.29.30133.0 10 Ağustos 2021
Görsel C++ 16.11.4 14.29.30135.0 5 Ekim 2021
Microsoft Visual C++ 2022 Görsel C++ 17.0.0RC mfc140.dll 14.30.30704.0 13 Ekim 2021

Ayrıca bakınız

Referanslar

daha fazla okuma

Dış bağlantılar