64ビット環境への理解も少しずつ深まってきた。今回は、64ビットWindows用アプリの開発について解説する。Win32との互換性などには注意してほしい。
Win64(64ビットWindows)は、64ビットのプロセッサで動作するマイクロソフトのOSです。64ビットWindowsのユーザーインタフェースが32ビットのものにとてもよく似ていることからも分かるとおり、基本的に32ビットWindowsの知識は、そのまま64ビットWindows環境でも活用させることができます。また、Win64上でWin32用のアプリケーションをそのまま実行させることもできるといった特徴があります。
ここでは、64ビットWindows用のアプリケーションを開発するにあたっての開発環境についてや、Win32との互換性について説明します。
現状において、Win64用アプリケーションの開発は32ビット環境でのクロスコンパイラで行います。コンパイラおよびリンカオプションは、32ビット版のコンパイラとほぼ同じですが、ソースコードのポータビリティ(32ビット/64ビット間)に関する警告を表示する/Wp64などのオプションが追加されています。
Win64に対応した新しいC/C++コンパイラは、最新のPlatform SDKに含まれていますが、Visual Studio 2005という形で2005年にはマイクロソフトからパッケージが提供される予定になっています。また、Visual Studio .NET 2003のSP3からは、x64ハードウェア上でx64のプログラムを開発することもできる予定です。
Visual Studio 2005 β版のセットアップ画面では、IA-64などのクロスプラットホームへの開発環境をセットアップできることがわかります(Fig.4)。なお、Visual Studio 2005自体は、依然として32ビットのアプリケーションです。
また、マイクロソフトの提供する各コンパイラの64ビット開発への対応状況を、Table8に示します。
開発環境 | 開発用プラットホーム(32ビット) | 開発用プラットホーム(IA-64) | 開発用プラットホーム(x64) | ターゲットプラットホーム(IA-64) | ターゲットプラットホーム(x64) |
---|---|---|---|---|---|
コマンドライン(Platform SDK) | ○ | ○ | ○ | ○ | × |
コマンドライン(Platform SDK SP1) | ○ | ○ | ○ | ○ | ○ |
Visual Studio 6.0 + SP5(Platform SDK SP1) | ○ | ○ | ○ | ○ | ○ |
Visual Studio .NET 2003(Platform SDK SP1) | ○ | ○ | ○ | ○ | ○ |
Visual Studio .NET 2005 | ○ | ○ | ○ | ○ | ○ |
Table8 64ビット対応C/C++コンパイル環境 |
Copyright(C) 2010 SOFTBANK Creative Inc. All Right Reserved.