Aktiivinen mallikirjasto - Active Template Library

Aktiivinen mallikirjasto
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,
  • CComBSTR BSTR kääre,
  • CComVariant VARIANT-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_t BSTR kääre,
  • _variant_t VARIANT-kääre ja
  • _com_error HRESULT kääre.

Huomaa, että Visual Studio 2012: sta alkaen kääntäjän COM-tukiluokissa ei ole SAFEARRAY-kääriä.

Katso myös

Viitteet

Ulkoiset linkit