Etkin Şablon Kitaplığı - Active Template Library
| Geliştirici(ler) | Microsoft |
|---|---|
| Yazılmış | C++ |
| İşletim sistemi | Microsoft Windows |
| Tür | Kitaplık veya çerçeve |
| Lisans | tescilli |
Etkin Şablon Kütüphanesi (ATL) şablon tabanlı bir dizi C ++ ile geliştirilen sınıfları Microsoft , programlamasını kolaylaştırmak amacıyla Bileşen Nesne Modeli (COM) nesneleri. Microsoft Visual C++' daki COM desteği , geliştiricilerin çeşitli COM nesneleri, OLE Otomasyon sunucuları ve ActiveX denetimleri oluşturmasına olanak tanır . ATL, minimum el kodlaması ile nesnelerin birincil yapısını hızlı bir şekilde ayarlayan bir nesne sihirbazı içerir. COM istemci tarafında ATL, COM referans sayımıyla ilgilenen akıllı işaretçiler sağlar . Kitaplık, tuhaf bir şekilde yinelenen şablon kalıbını yoğun bir şekilde kullanır .
Tarih
COM nesneleri, Microsoft Foundation Classes (MFC) ile de oluşturulabilir , ancak bu, destek DLL'leri gerektiren daha büyük ikili dosyalara yol açar . ATL ise, MFC'nin grafiksel kullanıcı arayüzü parçalarının gerekli olmadığı durumlarda daha hafif bir alternatiftir.
Doğrudan sürüm 3'ün (Visual Studio 6.0) yerini alan ATL sürüm 7'de (Visual Studio 2003), CString gibi bir dizi MFC sınıfı ATL'de kullanıma sunuldu veya daha kesin olarak her iki kitaplık tarafından paylaşılan bir ATLMFC ortak katmanına taşındı. ATL sürüm 7, CLI özniteliklerine benzer bir şey sağlamak amacıyla C++'ta da öznitelikler sunmuştur , ancak bunlar özellikle başarılı olmamıştır ve ATL sürüm 8'de (Visual Studio 2005) vurgusu kaldırılmıştır; çeşitli sihirbazlar artık bunları varsayılan olarak oluşturmaz. Sürüm 7 ayrıca yeni dize dönüştürme sınıflarını da tanıttı.
28 Temmuz 2009'da Microsoft, ATL kullanılarak oluşturulan ActiveX denetimlerinin uzaktan kod yürütme güvenlik açığına karşı savunmasız kalmasına izin verebilecek bir hatayı düzeltmek için ATL'ye bir yama yayınladı .
Visual Studio 2013'ten bu yana, Visual C++ 2013'teki ATL kodu statiktir ve DLL'yi ortadan kaldırır.
Destek sınıfları
ATL, COM türlerinin yönetimini basitleştirmek için birçok RAII sınıfı içerir . En sık kullanılan sınıflar şunları içerir:
-
CComPtr<T>genel amaçlı akıllı işaretçi, -
CComBSTRBSTR sarıcı, -
CComVariantVARIANT sarıcı ve -
CComSafeArray<T>SAFEARRAY sarıcı.
Derleyici COM desteği
Resmi olarak ATL'nin bir parçası olmamasına rağmen, Microsoft Visual C++, COM türlerinin yönetimini basitleştirmek için ek C++ RAII sınıfları da içerir. Bu derleyici COM destek sınıfları, ATL'nin yerine veya ATL ile birlikte kullanılabilir ve şunları içerir:
-
_com_ptr_tCOM arabirim adını bir "Ptr" son ekiyle süsleyen akıllı işaretçi, -
_bstr_tBSTR sarıcı, -
_variant_tVARIANT sarıcı ve -
_com_errorHRESULT sarıcı.
Visual Studio 2012'den itibaren, derleyici COM destek sınıflarının bir SAFEARRAY sarmalayıcı içermediğini unutmayın.
Ayrıca bakınız
- ATL Sunucusu
- C++/CX
- OLE Otomasyonu
- Standart Şablon Kitaplığı
- Windows Şablon Kitaplığı
- Microsoft Windows SDK'sı
- C++ şablon kitaplıklarının listesi