ATL/WTL C++ Windowsプログラミングの紹介

WTL

ATL/WTL C++ Windowsプログラミングの紹介

C++を使ったWindowsプログラミングといえば,MFCを使ったものが標準ですが,DLLとかが必要だったり,プログラムサイズが大きくなったり,使用するメモリ量が多いので,軽量な配布しやすいプログラムを作成しにくい。

ATLは,COMプログラミングのために用意されたテンプレートクラスライブラリ。
(COMとは・・・下記参照)
Visual C++標準のATLではウインドウアプリケーションを作成できない。しかし,WTLというのをダウンロードしてVisual C++に入れてやると,ATLにウインドウアプリケーションの作成部分の機能が追加される。

C++を使って軽量なWindowアプリケーションを作れる様になる。

Win32APIをC言語で書くよりもコードが少なく,C++のオブジェクト指向でプログラムが作成できる上に,プログラムサイズもMFCを使うよりもコンパクトに仕上がる。

知っていると結構得します。C++でWindowsプログラムを気軽に書きたい。という人におすすめ。もちろん,大規模なアプリケーションの作成も出来ますよ。

ちなみに,ATLは,C++の悪名高き多重継承を当たり前の様に使う。
テンプレートも多様されています。
※多重継承やテンプレートの知識が少なくても十分使えます。
 COMが分からなくても,使えます。

WTL自体は,結構昔からあるのですが,マイクロソフトの正式サポートではないので情報が少ない。そのため多少苦労しますが,それでもWin32APIをC言語で使うよりはましな感じがします。

クラスはMFCとそっくりなので,クラスのメンバ関数の使い方はMFCのリファレンスマニュアルでいけるでしょう。
MFCプログラミングをしたことがあるひとならば,すぐに使いこなせるでしょう。

詳しくは,WTLで検索をかけてください。
わずかですが,WTLについて解説したページがあります。

参考・詳細URL:
http://msdn.microsoft.com/msdnmag/issues/07/12/WindowsCPP/default.aspx?loc=jp

ダウンロード:
Windows Template Library (WTL) 7.1 (VC++ 6.0のウイザード用)
http://www.microsoft.com/downloads/details.aspx?familyid=1BE1EB52-AA96-4685-99A5-4256737781C5

Windows Template Library (WTL)最新( 8.0 )
http://sourceforge.net/projects/wtl

—————
補足:

COMとは・・・
Windowsで用意されたプログラム部品の仕組み。
オブジェクト指向がとりいれらていて,プログラミング言語に依存しないオブジェクト(プログラムの部品)である。
IUnknowインターフェースを継承したインタフェースを実装するオブジェクト。
いまいち分かりにくいので,具体的には以下の様なものがCOMで提供されている。

DirectXのラインタイム。
Webページ組込みオブジェクトのActiveXオブジェクト(自作を含む)
Visual Basicで使えるコンポーネント(フォームの部品。ボタンとか)

APIみたいなものだが,APIは関数なのに対して,COMは,オブジェクトを作成取得して,別のプログラムの部品(オブジェクト)として使える。

comments

コメントを残す