Win64では、64ビットWindowsにネイティブで対応するアプリケーションのほか、Win32エミュレーションレイヤによって、従来の32ビットアプリケーションも実行させることができます。これを可能にしているのが「WOW64(Windows On Windows 64)」です。
WOW64はWin64の一部として実装されており、環境変数などもそれぞれのバージョンが用意されています。ただし、WOW64で対応するのはWin32アプリケーションのみで、Windows 3.1以前のWin16アプリケーションは動作させることができません。ですから、Win16のコードで書かれている一部のインストーラなどは実行できないことになります。
また、64ビットプラットホームでのデバイスドライバについて、こちらは64ビットで書かれていなければなりません(Table13)。
|
64ビットハードウェアは多くの32ビットアプリケーションと互換性がありますが、今のところ32ビットアプリケーションは、やはり32ビットハードウェア上で動作させるほうが若干スムーズに実行できることが多いようです(ただしx64システムでは、32ビットアプリケーションもネイティブで実行可能です)。とはいえ、64ビット環境で旧来の32ビット資産を生かせるというのはとてもありがたいことです。
今後しばらくの間は、32ビットWindowsと64ビットWindowsアプリケーションは、それぞれが共存していくことになるでしょう。そうした状況において、両者の互換性を保つアプリケーションを開発するためにWindowsプログラマが心がけるべき点は、次のとおりです。
Part 3で説明した64ビットプログラミングの一般的な注意点とこれらの点に気をつければ、32ビット環境も考慮した64ビットWindows対応アプリケーションの開発はだいぶ楽に行うことができるはずです。
将来もC/C++プログラミング言語を用いてWindowsアプリケーションを開発していこうと考えているプログラマにとって、このあたりはしっかりと押さえておきたいポイントです。
Copyright(C) 2010 SOFTBANK Creative Inc. All Right Reserved.