Aktiivinen mallikirjasto - Active Template Library
| Kehittäjä (t) | Microsoft |
|---|---|
| Kirjoitettu | C ++ |
| Käyttöjärjestelmä | Microsoft Windows |
| Tyyppi | Kirjasto tai kehys |
| Lisenssi | Oma |
Active Template Libraryn (ATL) on joukko mallipohjaisena C ++ luokat kehittämä Microsoftin , tarkoituksena on yksinkertaistaa ohjelmointia Component Object Model (COM) esineitä. Microsoft Visual C ++ -ohjelman COM-tuki antaa kehittäjille mahdollisuuden luoda erilaisia COM-objekteja, OLE Automation -palvelimia ja ActiveX- komponentteja. ATL sisältää ohjatun objektiavustajan, joka määrittää objektien ensisijaisen rakenteen nopeasti käsikoodaamalla mahdollisimman vähän. COM-asiakaspuolella ATL tarjoaa älykkäitä osoittimia, jotka käsittelevät COM-viitteiden laskemista. Kirjasto käyttää voimakkaasti uteliaasti toistuvaa mallikuviota .
Historia
COM-objekteja voidaan luoda myös Microsoft Foundation Classesilla (MFC), mutta tämä johtaa suurempiin binääreihin, jotka edellyttävät tuen DLL-tiedostoja . ATL on toisaalta kevyempi vaihtoehto tilanteissa, joissa MFC: n graafisia käyttöliittymäosia ei tarvita.
ATL-versiossa 7 (Visual Studio 2003), joka seurasi suoraan versiota 3 (Visual Studio 6.0), joukko MFC-luokkia, kuten CString, tehtiin saataville ATL: ssä tai siirrettiin tarkemmin ATLMFC: n yhteiselle kerrokselle, jonka molemmat kirjastot jakavat. ATL-versio 7 esitteli myös attribuutit C ++: ssa yrittäessään tarjota jotain samanlaista kuin CLI-attribuutit , mutta ne eivät ole olleet erityisen onnistuneita, ja niitä on korostettu ATL-versiossa 8 (Visual Studio 2005); ohjatut toiminnot eivät enää luo niitä oletuksena. Versio 7 esitteli myös uudet merkkijonon muuntoluokat.
28. heinäkuuta 2009 Microsoft julkaisi korjaustiedoston ATL: lle korjaamaan virheen, joka saattoi sallia ATL: n avulla luotujen ActiveX- komponenttien olevan alttiita koodin etäsuorituksen tietoturvavirheelle.
Visual Studio 2013: n jälkeen Visual C ++ 2013: n ATL-koodi on staattinen, mikä eliminoi DLL: n.
Tukiluokat
ATL sisältää monia RAII- luokkia COM-tyyppien hallinnan yksinkertaistamiseksi. Yleisimmin käytettyjä luokkia ovat:
-
CComPtr<T>yleiskäyttöinen älykäs osoitin, -
CComBSTRBSTR kääre, -
CComVariantVARIANT-kääre ja -
CComSafeArray<T>SAFEARRAY-kääre.
Kääntäjän COM-tuki
Vaikka Microsoft Visual C ++ ei ole muodollisesti osa ATL: ää, se sisältää myös muita C ++ RAII-luokkia COM-tyyppien hallinnan yksinkertaistamiseksi. Näitä kääntäjän COM- tukiluokkia voidaan käyttää ATL: n korvikkeena tai yhdessä sen kanssa, ja ne sisältävät:
-
_com_ptr_tälykäs osoitin, joka koristaa COM-käyttöliittymän nimen "Ptr" -liitteellä, -
_bstr_tBSTR kääre, -
_variant_tVARIANT-kääre ja -
_com_errorHRESULT kääre.
Huomaa, että Visual Studio 2012: sta alkaen kääntäjän COM-tukiluokissa ei ole SAFEARRAY-kääriä.
Katso myös
- ATL-palvelin
- C ++ / CX
- OLE-automaatio
- Vakiomallikirjasto
- Windowsin mallikirjasto
- Microsoft Windows SDK
- Luettelo C ++ -mallikirjastoista