このパネルには、各種の言語、ロケール、およびファイル・システム・オプションが入っています。
*CMDDFT 設定およびプッシュボタン・ヘルプの説明については、 ダイアログの一般ヘルプ を参照してください。
- 言語レベル
- ソースのコンパイル時に組み込まれるライブラリー関数プロトタイプのグループを指定します。言語レベルが指定されず、
#pragma langlvl
ディレクティブがソース・メンバーにエンコードされなかった場合には、言語レベルはデフォルト
*EXTENDED
になります。言語レベルを指定する場合は、ソース・メンバーで指定されている
#pragma langlvl ディレクティブを上書きします。
このフィールドでは次のいずれかの値を選択できます。
- *CMDDFT
- ユーザーのシステムに現在デフォルトとして設定されている言語レベルを参照します。
- *EXTENDED
- プリプロセッサー・マクロ __EXTENDED__
を定義して、その他の言語レベル変数を定義解除します。ANSI 規格 C++ および IBM
言語拡張機能が使用できます。このパラメーターは、すべての C++
機能を使用可能にする時には使用しなければなりません。
- *ANSI
- プリプロセッサー・マクロ __ANSI__ および __STDC__
を定義して、その他の言語レベル変数を定義解除します。ANSI 規格
だけが使用できます。
- ロケール・サポート
- 作成されるオブジェクトによって使用されるロケール・サポートのタイプを指定します。このフィールドでは次のいずれかの値を選択できます。
- *CMDDFT
- ユーザーのシステムに現在デフォルトとして設定されているロケール・サポートを参照します。
- *CLD
- このオプションでコンパイルされたオブジェクトは、タイプ *CLD
のロケール・オブジェクトを使用する、ILE C/C++
コンパイラーおよび実行時の以前のリリースで提供されたロケール・サポートを使用します。
- *LOCALE
- このオプションでコンパイルされたオブジェクトは、タイプ *LOCALE
のロケール・オブジェクトを使用する、ILE C/C++
コンパイラーおよび実行時で提供されたロケール・サポートを使用します。
この選択が有効であるのは、 OS/400 オペレーティング・システムの V3R7
以降のリリースで実行しているプログラムの場合だけです。
- *LOCALEUCS2
- このオプションでコンパイルされたオブジェクトは、ワイド文字リテラルを 2
バイト形式で Unicode CCSID (13488) に保管します。
- C ストリーム入出力操作
- このフィールドは、作成されているオブジェクトの C
ストリーム入出力に使用される統合ファイル・システム・オプションを選択するのに使用されます。次の値のいずれかを
C ストリーム入出力操作フィールドから選択してください。
- *CMDDFT
- ユーザーのシステムに現在デフォルトとして設定されている統合ファイル・システム・オプションを参照します。
- *NOIFSIO
- 作成されるオブジェクトは C ストリーム入出力操作に AS/400
データ管理ファイル・システムを使用します。
- *IFSIO
- 作成されるオブジェクトは、 2 ギガバイトまでのサイズのファイル上で C
ストリーム入出力操作の統合ファイル・システム API を使用します。
- *IFS64IO
- 作成されるオブジェクトは、 2 ギガバイトより大きいサイズのファイルで C
ストリーム入出力操作をサポートする 64 ビット統合ファイル・システム API
を使用します。また、このオプションを使用すると、 *IFSIO
選択も暗黙的に使用可能になります。
- データ・モデル
- 明示的修飾子の不在を解釈するポインター・タイプを指定します。このフィールドでは次のいずれかの値を選択できます。
- *CMDDFT
-
- *P128
- int、long、およびポインター・データ・タイプのサイズは、それぞれ
4、4、および 16 バイトです。
- *LLP64
- int、long、およびポインター・データ・タイプのサイズは、それぞれ
4、4、および 8 バイトで、コンパイラーはマクロ __LLP64_IFC__
を定義します。
注:
- *LLP64 設定を使用するには、テラスペース・ストレージ・アドレス
(「生成」オプション・パネル) を使用可能にしなければなりません。
- コンパイラーが V5R1M0 以前のリリースをターゲットにしている場合には、*LLP64
設定は無視されます。
- __ptr64 と __ptr128 タイプの修飾子および、データ・モデル
pragma は、このコンパイラー・オプションの設定を変更します。
- パック構造
- ソース・コードの構造、共用体、およびクラスのメンバーで使用する位置合わせ規則を指定します。このフィールドでは次のいずれかの値を選択できます。
- *CMDDFT
-
- 1
- 構造および共用体は、1 バイト境界でパックされます。
- 2
- 構造および共用体は、2 バイト境界でパックされます。
- 4
- 構造および共用体は、4 バイト境界でパックされます。
- 8
- 構造および共用体は、8 バイト境界でパックされます。
- 16
- 構造および共用体は、16 バイト境界でパックされます。
- *NATURAL
- 構造のメンバーの自然位置合わせが使用されます。
- コンパイラー・サービス・オプション
- 1
つまたは複数のコンパイラー・サービス・オプションを指定します。有効はオプション・ストリングは、PTF
カバー・レターおよびリリース情報に記されています。このフィールドでは次のいずれかの値を選択できます。
- *CMDDFT
- ユーザー・システムのデフォルトとして現在設定されているコンピューター・サービス・オプションが使用されます。
- *NONE
- コンパイラー・サービス・オプションは選択されません。
- ライセンス内部コード・オプション
- 1 つまたは複数のライセンス内部コード・コンパイル時オプションを指定します。
このパラメーターによって、個々のコンパイル時オプションを選択することができますが、これは、コンパイラー・オプションで選択したタイプのそれぞれについて、潜在的な利益および不利益を理解している、アドバンスト・プログラマーを対象としています。このフィールドでは次のいずれかの値を選択できます。
- *CMDDFT
- ユーザー・システムのデフォルトとして現在設定されているライセンス内部コード・オプションが使用されます。
- *NONE
- コンパイル時オプションは選択されません。
- ターゲット CCSID
- 結果モジュールのターゲット・コード化文字セット ID (CCSID)
を指定します。モジュール CCSID
は、モジュール文字データが保管されるコード化文字セット ID
を識別します。これは、ソースで記述されるリテラル、コメント、および ID
名を記述するのに使用される文字データを組み込みますが、CCSID 5026、930、および
290 の ID 名は例外です。このフィールドで以下の値を選択することができます。
- *CMDDFT
- ユーザー・システムのデフォルトとして現在設定されている CCSID
設定が使用されます。
- *SOURCE
- ルート・ソース・ファイルの CCSID が使用されます。
- *JOB
- 現行ジョブの CCSID が使用されます。
- *HEX
- CCSID 65535 が使用されます。これは、文字データがビット・データ
として取り扱われ、変換されないことを示しています。
また、CCSID 値を直接このフィールドに入力することができます。
注:
- 文字変換が適用されるのは char ストリングに対してだけであり、
wchar_t ストリングではありません。
- #pragma 変換を使用すると、pragma
が適用されるコードのセクションで文字変換が変更されます。
- V5R1M0
より古いターゲット・リリースでコンパイルしている時には、このオプションは無視されます。
- 組み込みディレクトリー
- 組み込みファイルを検索するディレクトリーを指定します。指定されたディレクトリーの他に、ソース・ディレクトリーもユーザー組み込みファイルを検索します。このフィールドでは次のいずれかの値を選択できます。
- *CMDDFT
- ユーザーのシステムに現在デフォルトとして設定されている組み込みファイル・ディレクトリー検索設定を参照します。
- *NONE
- ソース・ディレクトリー以外のディレクトリーは組み込みファイルを検索しません。
検索リストの新規ディレクトリーを追加するには、ディレクトリーの名前をテキスト入力フィールドに入力して追加をクリックします。ディレクトリーを削除するには、ディレクトリーをリストから選択して削除をクリックします。
- プリプロセッサー・マクロの定義
- ファイルがコンパイラーによって処理される前に有効になるプリプロセッサー・マクロを定義します。このフィールドでは次のいずれかの値を選択できます。
- *CMDDFT
- ユーザーのシステムに現在デフォルトとして設定されている定義オプションを参照します。
- *NONE
- マクロは定義されません。
マクロを定義するには、マクロ定義をマクロ定義エリアに入力して追加をクリックしてください。マクロを削除するには、リストからマクロを選択して削除をクリックしてください。
注:
- 最大 32 マクロを定義できます。
- マクロの最大長は 80 文字です。
- 大文字・小文字を区別するマクロは、単一引用符を使用して囲む必要があります。
- このオプションによって定義されるマクロは、ソース中の同じ名前のマクロ定義を上書きします。これが起こる場合には、コンパイラーは警告メッセージを出します。
- 関数のようなマクロ (たとえば #define max(a,b)
((a)>;(b):(a)?(b))) はこのオプションによって定義できません。
- 従属情報
- 生成される従属情報を保管するかどうかとその保管場所を指定します。このフィールドでは次のいずれかの値を選択できます。
- *CMDDFT
- ユーザーのシステムに現在デフォルトとして設定されている従属情報設定を参照します。
- *NODEP
- 従属情報は生成されません。
- ファイル名
- 生成された従属情報を選択したファイルに保管します。
(C) Copyright IBM Corporation 1992, 2005. All Rights Reserved.