Win32
読み:ウィンさんに
外語:Win32

 Windows NTWindows 2000以降、あるいはWindows 95/98/Meでの開発フレームワーク。32ビット環境である。
目次

概要
 従来のWin16互換性はない。ただし、32ビットWindowsはWin16にも対応したため、従来のアプリケーションも実行できた。
 特徴は、メモリー保護によるアプリケーションプロテクションが実現できること、仮想記憶も含めギガバイトクラスのメモリーアドレスが利用できるなどがある。更にAPIレベルで、ファイルやデバイスの入出力、時間や日付の操作、タイマー、Unicodeプロセススレッドレジストリ、TAPIによる通信制御、セキュリティや暗号化などの新機能が搭載されている。

特徴

種類
 単純にWin32といっても細かく分けると多数存在する。
 Win32sなどの例外的な環境の他、大きくWindows NTシリーズとWindows 9xシリーズがある。
 更に、サービスパック導入やInternet Explorerの導入、Microsoft Officeの導入、Windows 95のOSRリリース毎の微妙な差異などが存在する。
 Win32のNT系と95/98/Me系での大きな違いは、95/98/MeはUnicodeをサポートしていない点、NTでは32ビットで扱う画面座標が95/98/Meでは16ビットである点、NTでは日付が2107/12/31まで扱えるが 95/98/Meでは2099/12/31までである点などのほか、95/98/MeではNTにある多くの機能が利用できない。

現状
 Windows 9xシリーズなど古いOSは既にサポートが終了していることもあり、Microsoft純正のコンパイラーであっても、新しいバージョンでは古いOSで実行できないバイナリを出力する。
 Visual C++ 4.2以降の吐くバイナリはWin32sで実行できず、Visual C++ 8.0(Visual Studio 2005)以降の吐くバイナリはWindows 95で実行できず、Visual C++ 9.0(Visual Studio 2008)以降の吐くバイナリはWindows 98/Me/NT4で実行できず、Visual C++ 10.0(Visual Studio 2010)以降の吐くバイナリはWindows 2000で実行できない。
 既にWindows 9xシリーズを考慮するご時世でもないため、近年は2000以降あるいはXP以降に対応する製品が多い。9x対応が必要だった頃は、Visual C++ 6.0のテンプレートのバグに悩まされることも多かったが、現在ではそれを考慮する必要もなくなった。

再検索