Solaris 64 ビット 開発ガイド

相互運用性の問題

アプリケーションを 64 ビット安全にしたり 32 ビットまたは 64 ビットプログラムと相互運用できるように変更する必要が生じるというような相互運用性の問題には、次のものがあります。

カーネルメモリーを参照するプログラム

カーネルは 64 ビットデータ構造を内部的に使用する LP64 データ型モデルのオブジェクトであるため、libkvm/dev/mem、または /dev/kmem を使用する既存の 32 ビットアプリケーションは正しく動作しません。64 ビットプログラムに変換する必要があります。

/proc の制約

/proc を使用する 32 ビットプログラムは、32 ビットプロセスの情報を認識することができますが、64 ビットプロセスのすべての属性を理解することはできません。プロセスを記述する既存のインタフェースおよびデータ構造は、関係する 64 ビット情報を包含できるほど大きくありません。32 ビットプロセスと 64 ビットプロセスの両方と一緒に動作させるためには、プログラムを 64 ビットプログラムとして再コンパイルする必要があります。この問題をもつ典型的なプログラムはデバッガです。

64 ビットライブラリ

32 ビットアプリケーションは 32 ビットライブラリとリンクする必要があり、64 ビットアプリケーションは 64 ビットライブラリとリンクする必要があります。旧式のライブラリを除いて、すべてのシステムライブラリには 32 ビットと 64 ビットのバージョンがあります。