生成パネル

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

*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 サイズ (列挙値 > 231-1 でない限り 4 バイト符号付き) が使用されます。

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

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

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

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

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

ユーザー・プロファイル
コンパイル済みプログラム・オブジェクトを実行するときに使用されるユーザー・プロファイル (各オブジェクトに対してプログラム・オブジェクトがもっている権限を含む) を指定します。プログラム所有者またはプログラム・ユーザーのいずれかのプロファイルが使用されて、プログラム・オブジェクトによって使用されるオブジェクトを制御します。

このフィールドでは次のいずれかの値を選択できます。

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

*USER
プログラム・オブジェクトを実行しているユーザーのプロファイルが使用されます。

*OWNER
プログラム所有者およびプログラム・ユーザー両方のユーザー・プロファイルのオブジェクト権限を合わせた設定が使用されて、プログラム・オブジェクトの処理時間中にオブジェクトを検索およびアクセスします。プログラムによって作成されるオブジェクトは、プログラム・ユーザーによって所有されます。

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

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

注:

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

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

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

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

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

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

テンプレート・オプション

一時組み込みディレクトリー
この選択項目は、自動テンプレート・インスタンス生成の結果であるテンプレートが置かれる場所を指定します。次のオプションが指定されます。

*CMDDFT
テンプレート・インスタンス生成ファイルは、ユーザー・システム上のデフォルトとして現在設定されている位置に置かれます。

directory_pathname
テンプレート・インスタンス生成ファイルは、指定するディレクトリー位置に置かれます。作成されたテンプレート・インスタンス生成ファイルは,テンプレートが見つかったヘッダー・ファイルのルート名、および C の拡張子を持ちます。テンプレート・インスタンス生成ファイルがすでに存在する場合には、インスタンス生成ファイルに追加する前にコンパイラーがこれらを検索して、指定されたテンプレート・インスタンス生成ファイルがすでに存在するかどうかを確認します。

ディレクトリー・パスを現行ディレクトリーと相対にすることができます。あるいは、これを絶対ディレクトリー・パスにすることができます。指定されたディレクトリーが存在していない場合には、作成されます。 ただし、指定されたディレクトリー・パスに存在しないディレクトリーが含まれている場合には、エラー状態が起こります。たとえば、subdir1 が存在しない時の /source/subdir1/tempinc です。

最大生成ヘッダー数
各ヘッダー・ファイルごとに生成されるテンプレート組み込みファイルの最大数を指定します。

テンプレート妥当性検査
テンプレートに適用される妥当性検査のレベルを指定します。次のオプションが指定されます。

*CMDDFT
テンプレートは、ユーザー・システムのデフォルト設定に従って妥当性が検査されます。

*NO
テンプレート・インプリメンテーションの妥当性は検査されません。

*WARN
テンプレート・インプリメンテーションを構文解析し、意味エラーの場合には警告メッセージを出します。

*ERROR
テンプレートがインスタンス生成されない場合でも、テンプレート・インプリメンテーション中の問題をエラーとして扱います。