Sun Studio 12: C ユーザーズガイド

1.1.1 64 ビットプラットフォーム用のコンパイル

このリリースでは、32 ビットまたは 64 ビットバイナリのコンパイルを指定する方法が変更されました。「B.2.68 -xarch=isaオプションは、暗黙的なメモリーモデル (32 ビット ILP32 または 64 ビット LP64 のそれぞれの定義) で使用できなくなりました。現在は、対象プロセッサの命令セットの指定にのみ使用します。

新しい 「B.2.41 -m32|-m64オプションを使用して、対象コンパイルのメモリーモデルを指定します。

ILP 32 モデルでは、C 言語の int、long、およびポインタデータ型はすべて 32 ビット幅であることを指定します。LP64 モデルでは、long およびポインタデータ型はすべて 64 ビット幅であることを指定します。Solaris および Linux OS は、LP64 メモリーモデルの大きなファイルや大きな配列もサポートします。

-m64 を使用してコンパイルを行う場合、結果の実行可能ファイルは、64 ビットカーネルを実行する Solaris OS または Linux OS の 64 ビット UltraSPARC(R) または x86 プロセッサでのみ動作します。64 ビットオブジェクトのコンパイル、リンク、および実行は、64 ビット実行をサポートする Solaris または Linux OS でのみ行うことができます。