生成パネル

このパネル上のオプションは、コンパイラーによって生成される出力を定義します。

*CMDDFT 設定およびプッシュボタン・ヘルプの説明については、 ダイアログの一般ヘルプ を参照してください。

生成オプション

権限
オブジェクトに対する特定の権限をもっていないユーザーにオブジェクト権限を指定します。このユーザーは権限リストにないか、あるいはユーザーのグループがオブジェクトに対する特定の権限をもっていません。このフィールドでは次のいずれかの値を選択できます。

*CMDDFT
ユーザーのシステムに現在デフォルトとして設定されているオブジェクト権限を参照します。

*LIBCRTAUT
オブジェクトの共通認可が宛先ライブラリー (作成されるオブジェクトが入れられるライブラリー) の CRTAUT キーワードから得られます。この値は、オブジェクトが作成されるときに判別されます。オブジェクトの作成後にライブラリーの CRTAUT 値が変更される場合には、新しい値は既存のオブジェクトに影響しません。

*ALL
所有者だけに限定されている操作または権限リスト管理権限によって制御されている操作を除いて、オブジェクトに対するすべての操作の権限を提供します。ユーザーはオブジェクトの存在を制御、その機密保護を指定、およびその基本機能を実行できますが、所有権を移動できません。

*CHANGE
すべてのデータ権限と、オブジェクト上のすべての操作 (所有者だけに限定されている操作、またはオブジェクト権限およびオブジェクト管理権限によって管理されている操作を除く) を実行する権限を提供します。オブジェクトは変更でき、基本機能はそれに応じて実行されます。

*EXCLUDE
特殊権限をもたないユーザーは、オブジェクトをアクセスできません。

*USE
オブジェクトの操作権限、読み取り権限、およびオブジェクトの基本機能に対する権限を提供します。特定の権限をもたないユーザーは、オブジェクトを変更できません。

ターゲット・リリース
作成されるオブジェクトのオペレーティング・システムのリリース・レベルを指定します。このフィールドでは次のいずれかの値を選択できます。

*CMDDFT
ユーザーのシステムに現在デフォルトとして設定されているリリース・レベルを参照します。

*CURRENT
コンパイルされるオブジェクトは、ユーザーのシステムで現在実行されているオペレーティング・システムとリリース・レベルが同じかまたはそれ以上であるオペレーティング・システムで使用するためのものです。たとえば、システムのコンパイルがリリース・レベル V2R3M5 である場合には、このオプションを選択するとリリース・レベル V2R3M5 以上がインストールされているシステムで実行できるオブジェクトを作成します。

*PRV
コンパイルされるオブジェクトは、システムのコンパイルで使用されているオペレーティング・システムより 1 レベル古いオペレーティング・システムで使用するためのものです。たとえば、システムのコンパイルが V2R3M5 である場合には、このオプションを選択するとリリース・レベル V2R2 以上がインストールされているシステムで実行できるオブジェクトを作成します。

ターゲット・リリース・レベルを直接このフィールドに入力することができます。 形式 VxRxMx を使用してリリースを指定しますが、ここで Vx はバージョン、Rx はリリース、そして Mx はモディフィケーション・レベルです。たとえば、 V4R3M0はバージョン 4 、リリース 3 、モディフィケーション・レベル 0 です。

最適化
コンパイル済みオブジェクトに適用される最適化のレベルを指定します。このフィールドでは次のいずれかの値を選択できます。

*CMDDFT
ユーザーのシステムに現在デフォルトとして現在されている最適化レベルを参照します。

10
生成されたコードは最適化されません。このレベルのコンパイル時間が最短です。

20
生成されたコードに対して任意の最適化が実行されます。

30
生成されたコードに対して完全な最適化が実行されます。

40
生成されたコードに対して、レベル 30 で行われたすべての最適化が実行されます。さらに、命令トレースおよび呼び出しトレース・システム機能を使用可能にするプロシージャー・プロローグおよびエピローグ・ルーチンからコードが除去されます。このコードを除去すると、リーフ・プロシージャーの生成が可能になります。リーフ・プロシージャーには他のプロシージャーに対する呼び出しが入っていません。リーフ・プロシージャーに対するプロシージャー呼び出しは、通常のプロシージャーに対する呼び出しよりかなり早くなります。

enum サイズ
enum が占有するストレージの量を指定します。このフィールドでは次のいずれかの値を選択できます。

*CMDDFT
ユーザー・システムのデフォルトとして現在設定されている enum サイズが使用されます。

1
すべての enum 変数がサイズ 1 バイトで作成されます。

2
すべての enum 変数がサイズ 2 バイトで作成されます。

4
すべての enum 変数がサイズ 4 バイトで作成されます。

*INT
ANSI C 規格 enum サイズ (4 バイト符号付き) が使用されます。

*SMALL
enum 変数に適応する最小サイズが選択されます。

ストレージ・モデル
モジュール・オブジェクトが使用するストレージのタイプ (静的および自動) を指定します。このフィールドでは次のいずれかの値を選択できます。

*CMDDFT
ユーザーのシステムに現在デフォルトとして設定されている enum サイズを参照します。

*SNGLVL
モジュールまたはプログラムは、伝統的な単一レベル・ストレージ・モデルを使用します。オブジェクトの静的および自動ストレージは、単一レベル保管から割り振られ、16 ポインターを使用してのみ、アクセスすることができます。TERASPACE(*YES) オプションが指定されている場合には、モジュールは、任意でテラスペース動的ストレージをアクセスすることができます。

*TERASPACE
モジュールまたはプログラムは、テラスペース・ストレージ・モデルを使用します。 このストレージ・モデルは、単一ジョブにつき 1 テラバイト・ローカル・アドレス・スペースまで提供します。オブジェクトの静的および自動ストレージは、テラスペースから割り振られ、8 バイトまたは 16 ポインターを使用してアクセスすることができます。

*INHERIT
作成されるモジュールは、単一レベルかテラスペース・ストレージのいずれかを使用することができます。 使用されるストレージのタイプは、呼び出し元に要求されたストレージのタイプによって異なります。

中間言語データ
このチェック・ボックスを選択すると、中間言語データはコンパイルされるオブジェクト・モジュールと一緒に保管されます。

デフォルト char タイプ
このチェック・ボックスを選択すると、コンパイラーは char を符号付きタイプとして扱います。選択しない場合には、 char は符号なしタイプとして扱われます。

プロファイル・データ
このチェック・ボックスを選択すると、コンパイルされるプログラムまたはモジュールのプログラム・プロファイルがオンになります。コードが生成されて、オブジェクト作成時にプロファイル・データ (プロシージャーの基本ブロックが実行される回数とプロシージャーが呼び出される回数を含む) を収集します。プロファイルは、キャッシュ線および ILE アプリケーションのメモリー・ページの使用をよりよいプログラム・パフォーマンスになるよう改善します。

注:

  1. スタンドアロン *MODULE モジュールはプロファイルできません。

  2. このオプションが有効であるのは、生成オプション・パネルの以下のオプションも使用可能であるときだけです。
    • 最適化*FULL30 、またはそれ以上に設定されます。
    • ターゲット・リリース*CURRENT に設定されます。

テラスペース・オプション

テラスペース・ストレージのアドレス
このチェック・ボックスを選択すると、他のテラスペース使用可能プログラムおよびサービス・プログラムから渡されるパラメーターを含むテラスペース・ストレージのアドレスを処理できるコードをコンパイラーが生成します。また、このチェック・ボックスを選択すると、次のチェック・ボックスも使用可能になります。

テラスペース・ストレージ機能
このチェック・ボックスを選択すると、プログラム・ソース・コードに対する変更を必要とせずに、コンパイラーはストレージ機能のテラスペース・バージョン (malloc または schmat など) を使用します。コンパイラーは __TERASPACE__ マクロを定義し、特定のストレージ機能名をテラスペース使用可能同等機能にマップします。たとえば、このコンパイラー・オプションを選択すると、 malloc() ストレージ機能が _C_TS_malloc() にマップされます。

このチェック・ボックスが選択されない場合には、コンパイラーは、malloc() または schmat() のような、ストレージ機能のテラスペース使用可能バージョンを使用しません