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との統合が図られ、一部のクラスは共通化されている共有クラス (ATL/MFC)。また、Visual C++ .NET 2002以降、バージョン番号はATL、MFCともにVisual C++の内部バージョンと同じになったATL と MFC のバージョン番号。なおATLのバージョンを表す定義済みシンボルとして、_ATL_VERが存在する定義済みマクロ。

Visual C++ 2013以降はDLL版のATLは廃止され、スタティックリンク版のみの提供となっているATL and MFC changes and fixes in Visual Studio 2013 - Visual C++ Team Blog - Site Home - MSDN Blogs。

Microsoft Visual Studio 2012までは、ATLおよびMFCは有償版のエディション（StandardもしくはProfessional以上）のみに付属するライブラリだったが、2014年にリリースされたVisual Studio Community 2013は無償版でありながら機能的にはProfessionalエディション相当となり、ATL/MFCも付属している（ただし利用規約はExpressエディションよりも制約が厳しいVisual Studio Community 2013 - Visual Studio）。

 脚注 

 関連項目 

 Component Object Model
 Microsoft Foundation Class
 Windows Template Library

Category:ライブラリ (プログラミング)
Category:C++
Active Template Library