Solaris 64 ビット 開発ガイド

相互運用性の問題

アプリケーションを 32 ビットまたは 64 ビットプログラムと相互運用できるように 64 ビット安全にしたり 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 ビットのバージョンがあります。ただし、静的ライブラリとして提供されている 64 ビットライブラリはありません。