Thread: What is ATL

  1. #1
    Registered User
    Join Date
    Oct 2011
    Posts
    48

    What is ATL

    What is ATL ?
    why and when should I learn it?
    Where it is used and why it is used ?

  2. #2
    'Allo, 'Allo, Allo
    Join Date
    Apr 2008
    Posts
    639
    Quote Originally Posted by freiza View Post
    What is ATL ?
    Active Template Library - Wikipedia, the free encyclopedia, ATL Concepts

    why should I learn it?
    Because you want/need to develop COM/OLE objects and you don't want to write N versions of QueryInterface/interface registration code or other code that is 99% identical project to project

    Where it is used
    In the development of COM and OLE objects

    why it is used ?
    Same reason you use any other wrapper library, so you don't have to write all the boilerplate stuff yourself

    If you've never heard of COM or OLE, you don't need it. If you don't use C++ or a non-express version of Visual Studio, you can't use it. If you pass both of those tests, check out the tutorials on MSDN

  3. #3
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    As adeyblue said you can create COM and OLE objects with it and it is quite nice if you have ever tried to write one of those from scratch. It is fairly simple to use and pick up and most of my experience with it has been turning library A or DLL A into a COM object. Note that COM objects created in ATL are binary compatible with managed .NET code as well as unmanaged code since COM is both language and managed / unmanaged agnostic. COM is like C++ but is not C++. C++ is a language whereas COM is a binary standard created by Microsoft. The need for COM is diminishing somewhat with C++ / CLI but it is still a widely used technology. All of Direct3D is utilizes COM as well as a host of other Windows-centric technologies.
    Last edited by VirtualAce; 05-18-2012 at 05:17 PM.

  4. #4
    Registered User
    Join Date
    May 2012
    Posts
    1
    The Active Template Library (ATL) is a set of template-based C++ classes that let you create small, fast Component Object Model (COM) objects. It has special support for key COM features, including stock implementations, dual interfaces, standard COM enumerator interfaces, connection points, tear-off interfaces, and ActiveX controls.

Popular pages Recent additions subscribe to a feed