/ORDER

構文:

/ORDER:@filename

特定のパッケージ関数を,事前に指定した順序で実行形式ファイルに取り込むように LINK に指示することで最適化を行うことができます。Visual Fortran コンパイラでパッケージ関数を作成することはできません。ここでは,パッケージ関数をサポートする Visual C++ などの言語 (/Gy コンパイラ・オプション) を使って言語が混在したアプリケーションを作成するときのために説明を行っています。

LINK は,パッケージ関数を実行形式ファイルの各セクション中に,指定された順序で格納します。

この順序は,パッケージ関数を,リンクしたい順序で並べたテキスト・ファイル filename を使って指定します。filename 中の各行は,1 つのパッケージ関数の名前を含んでいます。関数名では大文字小文字が区別されます。注釈はセミコロン (;) によって指定し,同じ行にあっても,別の行にあってもかまいません。LINK はセミコロンから行の終わりまでのすべてのテキストを無視します。

LINK は,識別子の修飾した形式を使用します。修飾した名前とは,手続名または変数名が宣言されている場所に関する情報を含んでいるこれらの名前の内部的な表現です。手続の場合,この情報にはその呼び出し方法も含まれています。修飾した名前は,主に言語が混在したプログラミングにおいて,Fortran ルーチンを他の言語から呼び出すときに重要となります。

コンパイラは,オブジェクト・ファイルを作成するときに,識別子を修飾します。リンカーに対して,ソース・コード内の修飾していない形式でパッケージ関数の名前が指定された場合,LINK は名前の一致を試みます。一意に一致するものを発見できなかった場合,LINK はエラーを発行します。

リンカーに指定するために,識別子の修飾した形式を知る必要がある場合,「DUMPBIN によるファイルの確認」で説明している DUMPBIN ツールを使用します。cDEC$ ATTRIBUTES C または STDCALL で宣言された,識別子の修飾した形式は指定しないでください。修飾した名前をいつどのように使用するかという情報については,「言語が混在したプログラミングにおける名付け規約の調整」を参照してください。

複数の /ORDER 指定が使用された場合,最後に指定されたものが有効になります。

プログラマは,順序を指定することで,プログラムのページ動作をスワップのチューニングを通して最適化することができます。関数を,それが呼び出す関数と一緒にグループ化します。また,頻繁に呼び出す関数を一緒にまとめることもできます。これらの技法により,関数が必要となったときに,それがメモリー内に存在しており,ディスクへのページングが不要になる可能性を高めることができます。

このオプションは増分リンクを無効にします。