Active Template Library
Active Template Library (ATL) は、COMプログラミングを簡単に行えるようにするためのマイクロソフトによるテンプレートベースのC++専用ライブラリである。様々なCOMオブジェクト、OLEオートメーションサーバ、ActiveXコントロールを開発できるように作られている。ATL 1.0は1996年に公開され、Microsoft Visual C++にはバージョン6.0からATLが標準で付属するようになった(VC 6.0付属のバージョンはATL 3.0)。
インターネット用のコントロールはMFCも利用できるが、ウェブサーバーからネットワーク経由でダウンロードするためにコントロールは小さくコンパクトであることが求められる。MFCアプリケーションは総じてプログラムサイズが巨大になる。ATLでは補助DLLなしで小さなコントロールを作成できるため、ATLはある意味でCOMコントロールの開発環境としてMFCに対する軽量の代替物である。
また、ATLにはWindows APIのラッパーとして利用できるクラスもあり、WTLと併せて通常のWindows用のアプリケーションソフトウェア作成にも用いることができる。
Visual C++ 7.0 (Visual C++ .NET 2002) 付属のATL 7.0以降はMFCとの統合が図られ、一部のクラスは共通化されている[1]。また、Visual C++ .NET 2002以降、バージョン番号はATL、MFCともにVisual C++の内部バージョンと同じになった[2]。なおATLのバージョンを表す定義済みシンボルとして、_ATL_VER
が存在する[3]。
Visual C++ 2013以降はDLL版のATLは廃止され、スタティックリンク版のみの提供となっている[4]。
Microsoft Visual Studio 2012までは、ATLおよびMFCは有償版のエディション(StandardもしくはProfessional以上)のみに付属するライブラリだったが、2014年にリリースされたVisual Studio Community 2013は無償版でありながら機能的にはProfessionalエディション相当となり、ATL/MFCも付属している(ただし利用規約はExpressエディションよりも制約が厳しい[5])。