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

3.4.57 -m32 | -m64

コンパイルされたバイナリオブジェクトのメモリーモデルを指定します。

32 ビット実行可能ファイルおよび共有ライブラリを作成するには、-m32 を使用します。64 ビット実行可能ファイルおよび共有ライブラリを作成するには、-m64 を使用します。

ILP32 メモリーモデル (32 ビット int、long、ポインタデータ型) は、64 ビットに対応していないすべての Solaris プラットフォームおよび Linux プラットフォームのデフォルト値です。LP64 メモリーモデル (64 ビット long、ポインタデータ型) は、64 ビット対応の Linux プラットフォームのデフォルト値です。-m64 は、LP64 モデルが使用可能なプラットフォームでのみ許可されます。

-m32 でコンパイルされたオブジェクトファイルまたはライブラリは、-m64 でコンパイルされたオブジェクトファイルまたはライブラリとリンクできません。

-m64 を使用して大容量の静的データを持つアプリケーションをコンパイルする場合は、-xmodel=medium も必要な場合があります。

一部の Linux プラットフォームは、ミディアムモデルをサポートしていません。

旧バージョンのコンパイラでは、-xarch で命令セットを選択することで、メモリーモデルの ILP32 または LP64 が暗黙に指定されていました。Sun Studio 12 コンパイラでは、このようなことはありません。ほとんどのプラットフォームでは、64 ビットオブジェクトを作成するのに、コマンド行に -m64 を追加するだけです。

Solaris では、-m32 がデフォルト値です。64 ビットプログラムをサポートしている Linux システムでは、-m64 -xarch=sse2 がデフォルト値です。