このパネル上のオプションは、コンパイラーによって生成される出力を定義します。
*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 ポインターを使用してアクセスすることができます。
- *INHERIT
- 作成されるモジュールは、単一レベルかテラスペース・ストレージのいずれかを使用することができます。
使用されるストレージのタイプは、呼び出し元に要求されたストレージのタイプによって異なります。
- 中間言語データ
- このチェック・ボックスを選択すると、中間言語データはコンパイルされるオブジェクト・モジュールと一緒に保管されます。
- デフォルト char タイプ
- このチェック・ボックスを選択すると、コンパイラーは char
を符号付きタイプとして扱います。選択しない場合には、 char
は符号なしタイプとして扱われます。
- プロファイル・データ
- このチェック・ボックスを選択すると、コンパイルされるプログラムまたはモジュールのプログラム・プロファイルがオンになります。コードが生成されて、オブジェクト作成時にプロファイル・データ
(プロシージャーの基本ブロックが実行される回数とプロシージャーが呼び出される回数を含む)
を収集します。プロファイルは、キャッシュ線および ILE
アプリケーションのメモリー・ページの使用をよりよいプログラム・パフォーマンスになるよう改善します。
注:
- スタンドアロン *MODULE モジュールはプロファイルできません。
- このオプションが有効であるのは、生成オプション・パネルの以下のオプションも使用可能であるときだけです。
- 最適化は *FULL 、 30
、またはそれ以上に設定されます。
- ターゲット・リリースは *CURRENT に設定されます。
- テラスペース・オプション
- テラスペース・ストレージのアドレス
- このチェック・ボックスを選択すると、他のテラスペース使用可能プログラムおよびサービス・プログラムから渡されるパラメーターを含むテラスペース・ストレージのアドレスを処理できるコードをコンパイラーが生成します。また、このチェック・ボックスを選択すると、次のチェック・ボックスも使用可能になります。
- テラスペース・ストレージ機能
- このチェック・ボックスを選択すると、プログラム・ソース・コードに対する変更を必要とせずに、コンパイラーはストレージ機能のテラスペース・バージョン
(malloc または schmat など) を使用します。コンパイラーは
__TERASPACE__
マクロを定義し、特定のストレージ機能名をテラスペース使用可能同等機能にマップします。たとえば、このコンパイラー・オプションを選択すると、
malloc() ストレージ機能が _C_TS_malloc()
にマップされます。
このチェック・ボックスが選択されない場合には、コンパイラーは、malloc()
または schmat()
のような、ストレージ機能のテラスペース使用可能バージョンを使用しません。
- テンプレート・オプション
- 一時組み込みディレクトリー
- この選択項目は、自動テンプレート・インスタンス生成の結果であるテンプレートが置かれる場所を指定します。次のオプションが指定されます。
- *CMDDFT
- テンプレート・インスタンス生成ファイルは、ユーザー・システム上のデフォルトとして現在設定されている位置に置かれます。
- directory_pathname
- テンプレート・インスタンス生成ファイルは、指定するディレクトリー位置に置かれます。作成されたテンプレート・インスタンス生成ファイルは,テンプレートが見つかったヘッダー・ファイルのルート名、および
C
の拡張子を持ちます。テンプレート・インスタンス生成ファイルがすでに存在する場合には、インスタンス生成ファイルに追加する前にコンパイラーがこれらを検索して、指定されたテンプレート・インスタンス生成ファイルがすでに存在するかどうかを確認します。
ディレクトリー・パスを現行ディレクトリーと相対にすることができます。あるいは、これを絶対ディレクトリー・パスにすることができます。指定されたディレクトリーが存在していない場合には、作成されます。
ただし、指定されたディレクトリー・パスに存在しないディレクトリーが含まれている場合には、エラー状態が起こります。たとえば、subdir1
が存在しない時の /source/subdir1/tempinc です。
- 最大生成ヘッダー数
- 各ヘッダー・ファイルごとに生成されるテンプレート組み込みファイルの最大数を指定します。
- テンプレート妥当性検査
- テンプレートに適用される妥当性検査のレベルを指定します。次のオプションが指定されます。
- *CMDDFT
- テンプレートは、ユーザー・システムのデフォルト設定に従って妥当性が検査されます。
- *NO
- テンプレート・インプリメンテーションの妥当性は検査されません。
- *WARN
- テンプレート・インプリメンテーションを構文解析し、意味エラーの場合には警告メッセージを出します。
- *ERROR
- テンプレートがインスタンス生成されない場合でも、テンプレート・インプリメンテーション中の問題をエラーとして扱います。
(C) Copyright IBM Corporation 1992, 2005. All Rights Reserved.