Solaris 64 ビット 開発ガイド

32 ビットアプリケーションと 64 ビットアプリケーション間の互換性

以降の節では、32 ビットと 64 ビットアプリケーション間のさまざまなレベルの互換性について説明します。

アプリケーションバイナリ

既存の 32 ビットアプリケーションは、32 ビットまたは 64 ビットのどちらのオペレーティング環境でも実行できます。唯一の例外は、libkvm/dev/mem/dev/kmem、または /proc を使用するアプリケーションです。詳細は、「4G バイト境界を超える」を参照してください。

アプリケーションソースコード

32 ビットアプリケーションに対しては、ソースレベルの互換性が維持されています。64 ビットアプリケーションについては、アプリケーションプログラミングインタフェースに使用される派生型に変更が加えられています。派生型およびインタフェースを正しく使用しているアプリケーションは、32 ビットに対してソースレベルで互換性があり、より容易に 64 ビットに移行することができます。

デバイスドライバ

32 ビットデバイスドライバは、64 ビットオペレーティングシステムでは使用できないため、32 ビットデバイスドライバは、64 ビットオブジェクトとして再コンパイルしなければなりません。さらに、64 ビットドライバは、32 ビットと 64 ビットの両方のアプリケーションをサポートしなければなりません。64 ビットオペレーティング環境に提供されているドライバはすべて、32 ビットと 64 ビットの両方のアプリケーションをサポートします。ただし、基本ドライバモデル、および DDI (Device Driver Interface) でサポートされているインタフェースに変更はありません。必要な作業は、LP64 データ型モデルの環境で適切となるようにコードを修正することです。詳細は、『Writing Device Drivers』を参照してください。