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

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

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

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

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

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