2.10 変数や関数を効率よく配置する

変数や関数を効率よく配置するには,変数/関数情報ヘッダ・ファイルを生成・使用します。プロパティ パネル[リンク・オプション]タブの[変数/関数情報ヘッダ・ファイルを出力する]プロパティを設定することにより,変数/関数情報ヘッダ・ファイル(参照される変数と関数の参照回数順から,saddr領域とcallt領域の効率的な割り当てを行うためのヘッダ・ファイル)を生成し,その変数/関数情報ヘッダ・ファイルを使用してコンパイルを行うことで,変数はsaddr領域,関数はcallt領域に配置されます。

以下に,操作手順を示します。

 

なお,本機能を使用する前に,ビルドが正常に終了してロード・モジュール・ファイルが生成されていることを確認してください。

(1)

変数/関数情報ヘッダ・ファイルを自動生成して変数や関数の配置を行う場合

1回のビルドにより,変数/関数情報ヘッダ・ファイルを自動生成し,そのファイルを使用して変数や関数の配置までを行う場合の手順を示します。

(a)

変数/関数情報ヘッダ・ファイルの生成の設定

プロジェクト・ツリーでビルド・ツール・ノードを選択し,プロパティ パネル[リンク・オプション]タブを選択します。

[変数/関数情報ヘッダ・ファイルを出力する]プロパティで[はい]を選択すると,空の変数/関数情報ヘッダ・ファイルを生成し,プロジェクトに追加します(プロジェクト・ツリーのファイル・ノードにも表示されます)。ファイルの出力先は,[変数/関数情報ヘッダ・ファイル出力フォルダ]プロパティ,および[変数/関数情報ヘッダ・ファイル名]プロパティで設定されているものとなります。

図 2.63

[変数/関数情報ヘッダ・ファイルを出力する]プロパティ

 

変数/関数情報ヘッダ・ファイルの出力フォルダ,およびファイル名の設定は,変更することもできます。

<1>

出力フォルダの設定

[変数/関数情報ヘッダ・ファイル出力フォルダ]プロパティにおいて,テキスト・ボックスへの直接入力,または[...]ボタンにより行います。

テキスト・ボックスには247文字まで指定可能です。

本プロパティは,次のプレースホルダに対応しています。

 

%ActiveProjectDir% : アクティブ・プロジェクト・フォルダの絶対パスに置換します。

%ActiveProjectName% : アクティブ・プロジェクト名に置換します。

%BuildModeName% : ビルド・モード名に置換します。

%MainProjectDir% : メイン・プロジェクト・フォルダの絶対パスに置換します。

%MainProjectName% : メイン・プロジェクト名に置換します。

%MicomToolPath% : 本製品のインストール・フォルダの絶対パスに置換します。

%ProjectDir% : プロジェクト・フォルダの絶対パスに置換します。

%ProjectName% : プロジェクト名に置換します。

%TempDir% : テンポラリ・フォルダの絶対パスに置換します。

%WinDir% : Windowsシステム・フォルダの絶対パスに置換します。

 

デフォルトでは,“%BuildModeName%”が設定されています。

本プロパティを変更すると,空の変数/関数情報ヘッダ・ファイルを生成し,プロジェクトに追加します(プロジェクト・ツリーのファイル・ノードにも表示されます)。

<2>

出力ファイル名の設定

[変数/関数情報ヘッダ・ファイル名]プロパティにおいて,テキスト・ボックスへの直接入力により行います。

テキスト・ボックスには259文字まで指定可能です。

本プロパティは,次のプレースホルダに対応しています。

 

%ActiveProjectName% : アクティブ・プロジェクト名に置換します。

%MainProjectName% : メイン・プロジェクト名に置換します。

%ProjectName% : プロジェクト名に置換します。

 

デフォルトでは,“%ProjectName%_vfi.h”が設定されています。

本プロパティを変更すると,空の変数/関数情報ヘッダ・ファイルを生成し,プロジェクトに追加します(プロジェクト・ツリーのファイル・ノードにも表示されます)。

(b)

プロジェクトのビルドの実行

プロジェクトのビルドを実行してください。

変数/関数情報ヘッダ・ファイルが生成され,自動的にそれをCソースにインクルードして再度リビルドが実行されます。

備考

ビルドの実行により,「(a) 変数/関数情報ヘッダ・ファイルの生成の設定」で生成した変数/関数情報ヘッダ・ファイルが上書きされます。

 

ビルドが正常に終了すると,変数や関数の配置を行ったロード・モジュール・ファイルが生成されます。

(2)

自動生成した変数/関数情報ヘッダ・ファイルを編集して使用する場合

変数/関数情報ヘッダ・ファイルは,ユーザが編集することも可能です。

(1) 変数/関数情報ヘッダ・ファイルを自動生成して変数や関数の配置を行う場合」で生成した変数/関数情報ヘッダ・ファイルをユーザが編集し,そのファイルを使用して変数や関数の配置を行う場合の手順を示します。

(a)

変数/関数情報ヘッダ・ファイルの編集

(1) 変数/関数情報ヘッダ・ファイルを自動生成して変数や関数の配置を行う場合」で自動生成した変数/関数情報ヘッダ・ファイルを編集します。

備考

自動生成した変数/関数情報ヘッダ・ファイルのフォーマットについては,「CC-RL コンパイラ ユーザーズマニュアル」を参照してください。

(b)

変数/関数情報ヘッダ・ファイルの生成の設定

プロジェクト・ツリーでビルド・ツール・ノードを選択し,プロパティ パネル[リンク・オプション]タブを選択します。

[変数/関数情報ヘッダ・ファイルを出力する]プロパティで[いいえ]を選択します。

図 2.64

[変数/関数情報ヘッダ・ファイルを出力する]プロパティ

 

次に,[コンパイル・オプション]タブを選択します。

[コンパイル単位の先頭にインクルードするファイル]プロパティに編集した変数/関数情報ヘッダ・ファイルを指定します。

図 2.65

[コンパイル単位の先頭にインクルードするファイル]プロパティ

 

(c)

プロジェクトのビルドの実行

プロジェクトのビルドを実行してください。

変数/関数情報ヘッダ・ファイルで指定した内容で変数や関数の配置を行ったロード・モジュール・ファイルが生成されます。