C++モジュール作成 (CRTCPPMOD)
| 実行可能場所: すべての環境 (*ALL) スレッド・セーフ: いいえ |
パラメーター 例 エラー・メッセージ |
C++モジュール作成(CRTCPPMOD)コマンドはILE C++コンパイラーを開始します。このコンパイラーは,ソース・コード内のILE C++ステートメントに基づいてモジュール・オブジェクトを作成しようとします。
| 上 |
パラメーター
| キーワード | 記述 | 選択項目 | ノーツ |
|---|---|---|---|
| MODULE | モジュール | 修飾オブジェクト名 | 必須, 定位置 1 |
| 修飾子 1: モジュール | 名前 | ||
| 修飾子 2: ライブラリー | 名前, *CURLIB | ||
| SRCFILE | ソース・ファイル | 修飾オブジェクト名 | オプショナル, 定位置 2 |
| 修飾子 1: ソース・ファイル | 名前, QCPPSRC | ||
| 修飾子 2: ライブラリー | 名前, *LIBL, *CURLIB | ||
| SRCMBR | ソース・メンバー | 名前, *MODULE | オプショナル, 定位置 3 |
| SRCSTMF | ソース・ストリーム・ファイル | パス名 | オプショナル |
| TEXT | テキスト'記述' | 文字値, *SRCMBRTXT, *BLANK | オプショナル |
| OUTPUT | 出力オプション | 単一値: *NONE, '*トナトオ' その他の値: 要素リスト |
オプショナル |
| 要素 1: 出力ファイル名 | パス名, *PRINT, '*ニネケトホ' | ||
| 要素 2: タイトル | 文字値, *BLANK | ||
| 要素 3: サブタイトル | 文字値, *BLANK | ||
| OPTION | コンパイラー・オプション | 値 (最大 35 回の繰り返し): *NOBITSIGN, *BITSIGN, *NOEVENTF, *EVENTF, *NOEXPMAC, *EXPMAC, *NOFULL, *FULL, *GEN, *NOGEN, *NOINCDIRFIRST, *INCDIRFIRST, *LOGMSG, *NOLOGMSG, *LONGLONG, *NOLONGLONG, *NORTTI, *RTTIALL, *RTTITYPE, *RTTICAST, *NOSHOWINC, *SHOWINC, *SHOWSRC, *NOSHOWSRC, *NOSHOWSYS, *SHOWSYS, *NOSHOWUSR, *SHOWUSR, *STDINC, *NOSTDINC, *NOSTDLOGMSG, *STDLOGMSG, *NOSYSINCPATH, *SYSINCPATH, *NOXREF, *XREF, *NOXREFREF, *XREFREF | オプショナル |
| CHECKOUT | チェックアウト・オプション | 値 (最大 45 回の繰り返し): *NONE, *USAGE, *ALL, *NOCLASS, *CLASS, *NOCOND, *COND, *NOEFFECT, *EFFECT, *NOGENERAL, *GENERAL, *NOGOTO, *GOTO, *NOLANG, *LANG, *NOPARM, *PARM, *NOPORT, *PORT, *NOPPTRACE, *PPTRACE, *NOREACH, *REACH, *NOTEMP, *TEMP, *NOTRUNC, *TRUNC, *NOUNUSED, *UNUSED | オプショナル |
| OPTIMIZE | 最適化 | 10, 20, 30, 40 | オプショナル |
| INLINE | インライン・オプション | 要素リスト | オプショナル |
| 要素 1: インライナー | *OFF, *ON | ||
| 要素 2: モード | *AUTO, *NOAUTO | ||
| 要素 3: しきい値 | 1-65535, 250, *NOLIMIT | ||
| 要素 4: 限界 | 1-65535, 2000, *NOLIMIT | ||
| 要素 5: 報告書 | *NO, *YES | ||
| MODCRTOPT | モジュール作成オプション | *NOKEEPILDTA, *KEEPILDTA | オプショナル |
| DBGVIEW | デバッグ・ビュー | *NONE, *ALL, *STMT, *SOURCE, *LIST | オプショナル |
| DBGENCKEY | デバッグ暗号鍵 | 文字値, *NONE | オプショナル |
| DEFINE | 名前の定義 | 単一値: *NONE その他の値 (最大 32 回の繰り返し): 文字値 |
オプショナル |
| LANGLVL | 言語レベル | *EXTENDED, *ANSI, *LEGACY, *EXTENDED0X | オプショナル |
| ALIAS | 別名 | 値 (最大 3 回の繰り返し): *ANSI, *NOANSI, *ADDRTAKEN, *NOADDRTAKEN, *ALLPTRS, *NOALLPTRS, *TYPEPTR, *NOTYPEPTR | オプショナル |
| SYSIFCOPT | SYSTEMインターフェースOPT | *IFS64IO, *IFSIO, *NOIFSIO | オプショナル |
| LOCALETYPE | LOCALEオブジェクト・タイプ | *LOCALE, *LOCALEUCS2, *LOCALEUTF | オプショナル |
| FLAG | メッセージのフラグ・レベル | 0, 10, 20, 30 | オプショナル |
| MSGLMT | コンパイラー・メッセージ | 要素リスト | オプショナル |
| 要素 1: メッセージ限界 | 0-32767, *NOMAX | ||
| 要素 2: メッセージ限界の重大度 | 0, 10, 20, 30 | ||
| REPLACE | MODULE OBJECTの置き換え | *YES, *NO | オプショナル |
| AUT | 権限 | 名前, *LIBCRTAUT, *ALL, *CHANGE, *USE, *EXCLUDE | オプショナル |
| TGTRLS | ターゲット・リリース | 単純名, *CURRENT, *PRV | オプショナル |
| ENBPFRCOL | パフォーマンス収集使用可能化 | 要素リスト | オプショナル |
| 要素 1: 収集レベル | *PEP, *ENTRYEXIT, *FULL | ||
| 要素 2: プロシージャー | *NONLEAF, *ALLPRC | ||
| PFROPT | パフォーマンス・オプション | 値 (最大 2 回の繰り返し): *SETFPCA, *NOSETFPCA, *NOSTRDONLY, *STRDONLY | オプショナル |
| PRFDTA | プロファイル作成データ | *NOCOL, *COL | オプショナル |
| TERASPACE | テラスペース・オプション | 単一値: *NO その他の値: 要素リスト |
オプショナル |
| 要素 1: テラスペース使用可能 | *YES | ||
| 要素 2: TERASPACE INTERFACESの使用 | *NOTSIFC, *TSIFC | ||
| STGMDL | ストレージ・モデル | *SNGLVL, *TERASPACE, *INHERIT | オプショナル |
| DTAMDL | データ・モデル | *P128, *LLP64 | オプショナル |
| RTBND | ランタイム・バインディング | *DEFAULT, *LLP64 | オプショナル |
| PACKSTRUCT | パック構造 | *NATURAL, 1, 2, 4, 8, 16 | オプショナル |
| ENUM | Enumサイズ | *SMALL, 1, 2, 4, *INT | オプショナル |
| MAKEDEP | 依存関係情報 | パス名, *NONE | オプショナル |
| PPGENOPT | プリプロセッサー・オプション | 単一値: *NONE, *DFT その他の値 (最大 2 回の繰り返し): *RMVCOMMENT, *NORMVCOMMENT, *GENLINE, *NOGENLINE |
オプショナル |
| PPSRCFILE | 出力ソース・ファイル | 修飾オブジェクト名 | オプショナル |
| 修飾子 1: 出力ソース・ファイル | 名前 | ||
| 修飾子 2: ライブラリー | 名前, *CURLIB | ||
| PPSRCMBR | 出力ソース・メンバー | 名前, *MODULE | オプショナル |
| PPSRCSTMF | 出力ストリーム・ファイル | パス名, *SRCSTMF | オプショナル |
| INCDIR | 組み込みディレクトリー | 単一値: *NONE その他の値 (最大 32 回の繰り返し): パス名 |
オプショナル |
| CSOPT | コンパイラー・サービスOPT | 文字値, *NONE | オプショナル |
| LICOPT | ライセンス内部コードOPT | 文字値, *NONE | オプショナル |
| DFTCHAR | 省略時の文字タイプ | *UNSIGNED, *SIGNED | オプショナル |
| TGTCCSID | ターゲットCCSID | 1-65535, *SOURCE, *JOB, *HEX | オプショナル |
| TEMPLATE | テンプレート・オプション | 要素リスト | オプショナル |
| 要素 1: 一時組み込みディレクトリー | パス名, *NONE, *TEMPINC | ||
| 要素 2: 生成済み最大見出し数 | 1-99999, 1 | ||
| 要素 3: テンプレートの妥当性検査 | *NO, *WARN, *ERROR | ||
| TMPLREG | テンプレート・レジストリー | パス名, *DFT, *NONE | オプショナル |
| WEAKTMPL | Weakテンプレート定義 | *YES, *NO | オプショナル |
| DECFLTRND | 10進浮動丸めモード | *HALFEVEN, *DOWN, *UP, *HALFUP, *HALFDOWN, *FLOOR, *CEILING | オプショナル |
| 上 |
モジュール (MODULE)
作成するモジュール・オブジェクトを指定します。
これは必須パラメーターです。
修飾子1: モジュール
- 名前
- モジュール・オブジェクトの名前を指定してください。
修飾子2: ライブラリー
- *CURLIB
- モジュール・オブジェクトは現行ライブラリーに保管されます。ジョブに現行ライブラリーがない場合には,モジュール・オブジェクトはQGPLライブラリーの中に作成されます。
- 名前
- モジュール・オブジェクトの保管先となるライブラリーの名前を指定してください。
| 上 |
ソース・ファイル (SRCFILE)
コンパイルが必要なILE C++ソース・コードが入っているソース・ファイルを指定します。
修飾子1: ソース・ファイル
- QCPPSRC
- QCPPSRCという名前のソース・ファイルには,コンパイルしたいILE C++ソース・コードを含むメンバーが入っています。
- 名前
- ILE C++ソース・コードが含まれたメンバーが入っているソース・ファイルの名前を指定してください。
修飾子2: ライブラリー
- *LIBL
- ソース・ファイルが入っているライブラリーを見つけるためにライブラリー・リストが検索されます。
- *CURLIB
- ソース・ファイルが現行ライブラリーから検索されます。ジョブに現行ライブラリーがない場合には,ソース・ファイルはQGPLから検索されます。
- 名前
- ソース・ファイルが入っているライブラリーの名前を指定してください。
| 上 |
ソース・メンバー (SRCMBR)
コンパイルされるソース・コードが入っているソース・ファイル・メンバーを指定します。
- *MODULE
- モジュール (MODULE)パラメーターに指定された名前は,ソース・メンバー名として使用されます。
- 名前
- ソース・コードが入っているメンバーの名前を指定してください。
| 上 |
ソース・ストリーム・ファイル (SRCSTMF)
コンパイルが必要なソース・コードが入っているストリーム・ファイルを指定します。
パス名は絶対修飾パス名か相対修飾パス名のいずれかとすることができます。絶対パス名は'/'で始まり,相対パス名は'/'以外の文字で始まります。絶対修飾した場合には,そのパス名で完全です。相対修飾した場合に,パス名は,ジョブの現行作業ディレクトリーをパス名に対して事前保留することによって完全なものとなります。
SRCMBRおよびSRCFILEパラメーターをSRCSTMFパラメーターと一緒に指定することはできません。
- パス名
- C++ソース・コードが入っているストリーム・ファイルのパス名を指定してください。
| 上 |
テキスト'記述' (TEXT)
モジュール・オブジェクトを簡潔に記述するテキストを指定します。
- *SRCMBRTXT
- モジュール・オブジェクトに使用されるソース・ファイル・メンバーと関連したテキスト記述。ソース・ファイルがインライン・ファイル,ストリーム・ファイル,または装置ファイルである場合には,テキストはブランクとなります。
- *BLANK
- テキストは表示されないことを指定します。
- 文字値
- 50文字を超えないテキストをアポストロフィで囲んで指定します。
| 上 |
出力オプション (OUTPUT)
コンパイラー・リストが生成されるかどうかを指定します。
単一値
- *NONE
- コンパイラー・リストは生成しません。リストが必要でない場合には,コンパイル時のパフォーマンスを改善するためにこのパラメーター値を使用する必要があります。*NONEを指定した場合には,OPTIONパラメーターに指定されたリストと関連したすべてのパラメーター値が無視されます。
要素1: 出力ファイル名
- リストを含むスプール・ファイルが生成されます。
- パス名
- リストを保留するストリーム・ファイルのパス名を指定します。
要素2: タイトル
- *BLANK
- テキストは表示されないことを指定します。
- 文字値
- リスト・ファイルのタイトル文字列(最大80文字)を指定します。
要素3: サブタイトル
- *BLANK
- テキストは表示されないことを指定します。
- 文字値
- リスト・ファイルのサブタイトル文字列(最大80文字)を指定します。
| 上 |
コンパイラー・オプション (OPTION)
ILE C++ソース・コードのコンパイル時に使用するオプションを指定します。それらは,1つまたは複数のブランクで区切り,任意の順序で指定できます。1つのオプションが複数回指定されたり,2つのオプションが競合する場合には,最後に指定されたものが使用されます。
このパラメーターには35個の値を指定できます。
このパラメーターには単一のデフォルト値はありません。以下に示す一連のパラメーター値の説明では,下線付きの値は,コンパイラーで使用されるデフォルト値を表します。
- *NOBITSIGN
- ビット・フィールドを符号なしとして指定します。
- *BITSIGN
- ビット・フィールドを符号付きとして指定します。
- *NOEVENTF
- CoOperative Development Environment/400 (CODE/400)で使用するためのイベント・ファイルは作成しません。
- *EVENTF
- CoOperative Development Environment/400 (CODE/400)で使用するためのイベント・ファイルを作成します。イベント・ファイルは,作成中のモジュールまたはプログラム・オブジェクトの保管先のライブラリーにあるファイルEVFEVENTにメンバーとして作成されます。ファイルEVFEVENTが存在しない場合には,それが自動的に作成されます。イベント・ファイル・メンバー名は作成中のオブジェクトの名前と同じです。通常,イベント・ファイルは,CODE/400内からモジュールまたはプログラム・オブジェクトを作成するときに生成されます。CODE/400はこのファイルを使用して,CODE/400エディターに統合されたエラー・フィードバックを提供します。
- *NOEXPMAC
- マクロの中で構文エラーが検出されないかぎり,マクロはリスト中で拡張されません。
- *EXPMAC
- リスト中ですべてのマクロを拡張します。
- *NOFULL
- すべてのリスト・オプションをオンにしません。
- *FULL
- すべてのリスト・オプションをオンにします。
- *GEN
- コンパイル・プロセスのすべてのフェーズが実行されます。
- *NOGEN
- コンパイルは構文検査の後に停止します。モジュール・オブジェクトは作成されません。
- *NOINCDIRFIRST
- INCDIRパラメーターとして指定された組み込みディレクトリーは,標準ヘッダー・ファイル組み込みパスの前には組み込まれません。
- *INCDIRFIRST
- INCDIRパラメーターとして指定された組み込みディレクトリーが,標準ヘッダー・ファイル組み込みパスの前に組み込まれます。
- *LOGMSG
- コンパイル・メッセージをジョブ・ログに書き込みます。
このオプションとFLAGパラメーターを指定した場合には,FLAGパラメーターに指定された(およびそれ以上の)重大度のメッセージがジョブ・ログに入れられます。
このオプションとメッセージ限界 (MSGLMT)パラメーターにメッセージの最大数を指定した場合には,指定された重大度のその数のメッセージがジョブ・ログに入れられた時に,コンパイルが停止します。
- *NOLOGMSG
- コンパイル・メッセージをジョブ・ログに書き込みません。
- *LONGLONG
- LONG LONGデータ・タイプの使用を許可します。
- *NOLONGLONG
- LONG LONGデータ・タイプの使用は許可しません。
- *NORTTI
- 実行時タイプID (RTTI)情報を生成しません。
- *RTTIALL
- RTTI typeidおよびdynamic_cast演算子に必要な情報を生成します。
- *RTTITYPE
- RTTI typeid演算子に必要な情報のみを生成します。
- *RTTICAST
- dynamic_cast演算子に必要な情報のみを生成します。
- *NOSHOWINC
- リストのソース・セクションで,またはデバッグ・ビューでユーザー組み込みファイルまたはシステム組み込みファイルを拡張しません。
- *SHOWINC
- リストのソース・セクションで,またはデバッグ・ビューでユーザー組み込みファイルとシステム組み込みファイルの両方を拡張します。OUTPUTオプションか,*ALL, *SOURCE,または*LISTの値のDBGVIEWパラメーターを指定する必要があります。
- *SHOWSRC
- リストにソース・コードを表示します。このオプションは,*SHOWINC, *SHOWSYS,または*SHOWUSRオプションによって変更することができます。
- *NOSHOWSRC
- リストにソース・コードは表示しません。このオプションは,*EXPMAC, *SHOWINC, *SHOWSYS,または*SHOWUSRオプションで変更できます。
- *NOSHOWSYS
- リストのソース・セクションで,またはデバッグ・ビューで#includeディレクティブ上のシステム組み込みファイルを拡張しません。システム組み込みファイルは,#includeディレクティブの後に続けて不等号括弧(< >)で囲まれます。
- *SHOWSYS
- リストのソース・セクションで,またはデバッグ・ビューで#includeディレクティブ上のシステム組み込みファイルを拡張します。OUTPUTオプションを指定するか,あるいは*ALL, *SOURCE,または*LISTのDBGVIEWパラメーターを指定する必要があります。システム組み込みファイルは,#includeディレクティブの後に続けて不等号括弧(< >)で囲まれます。
- *NOSHOWUSR
- リストまたはデバッグ・ビューでユーザー組み込みファイルは拡張しません。ユーザー組み込みファイルは,#includeディレクティブの後に続けて二重引用符(" ")で囲まれます。
- *SHOWUSR
- リストのソース・セクションで,またはデバッグ・ビューで#includeディレクティブ上のユーザー組み込みファイルを拡張します。OUTPUTオプションか,*ALL, *SOURCE,または*LISTの値のDBGVIEWパラメーターを指定する必要があります。ユーザー組み込みファイルは,#includeディレクティブの後に続けて二重引用符(" ")で囲まれます。
- *STDINC
- システム提供のヘッダー・ファイルがコンパイルのための検索パスに組み込まれます。
- *NOSTDINC
- システム提供のヘッダー・ファイルはコンパイルのための検索パスに組み込まれません。
- *NOSTDLOGMSG
- コンパイル・メッセージはSTDOUTストリームへ送られません。
- *STDLOGMSG
- コンパイル・メッセージがSTDOUTストリームへ送られます。
- *NOSYSINCPATH
- ユーザー組み込みファイルの検索パスは影響を受けません。
- *SYSINCPATH
- ユーザー組み込みファイルの検索パスをシステム組み込みファイルの検索パスに変更します。機能的に,このオプションを使用することは,ユーザー#includeディレクティブ(#include "file_name")の二重引用符を不等号括弧(#include <file_name>)に変更することに相当します。
- *NOXREF
- リストの中に相互参照テーブルは生成しません。
- *XREF
- ソース・コード中の識別コードをそれらが表示される行の番号とともに示すリストを含む相互参照テーブルを生成します。OUTPUTオプションの指定が必要です。
- *NOXREFREF
- リストの中で参照される識別コードの相互参照テーブルは生成しません。
- *XREFREF
- リスト・ファイルで参照される変数,構造および関数名の相互参照テーブルを生成します。このテーブルには,識別コードが宣言された場所の行番号が示されます。OUTPUTオプションの指定が必要です。
| 上 |
チェックアウト・オプション (CHECKOUT)
考えられるプログラミング・エラーを示す通知メッセージを生成する場合に選択できるオプションを指定します。1つのオプションを複数回指定したり,2つのオプションが競合する場合には,最後に指定されたものが使用されます。
このパラメーターには45個の値を指定できます。
- *NONE
- CHECKOUTのためのすべてのオプションを使用不可とします。
- *USAGE
- これは*CONDを指定するのと同等です。
- *ALL
- CHECKOUTのためのすべてのオプションを使用可能とします。
以下に示す一連のパラメーター値の説明では,下線付きの値は,コンパイラーで使用されるデフォルト値を表します。
- *NOCLASS
- クラスの使用に関する情報は表示しません。
- *CLASS
- クラスの使用に関する情報を表示します。
- *NOCOND
- 条件式で考えられる冗長度または問題についての警告はしません。
- *COND
- 条件式で考えられる冗長度または問題について警告します。
- *NOEFFECT
- 有効でないステートメントについての警告はしません。
- *EFFECT
- 有効でないステートメントについて警告します。
- *NOGENERAL
- 一般チェックアウト・メッセージは生成しません。
- *GENERAL
- 一般チェックアウト・メッセージを生成します。
- *NOGOTO
- GOTOステートメントの出現および使用はリストしません。
- *GOTO
- GOTOステートメントの出現および使用をリストします。
- *NOLANG
- 言語レベルの影響に関する情報は表示しません。
- *LANG
- 言語レベルの影響に関する情報を表示します。
- *NOPARM
- 未使用パラメーターについての警告はしません。
- *PARM
- 未使用パラメーターについて警告します。
- *NOPORT
- 移植不能言語構造についての警告はしません。
- *PORT
- 移植不能言語構造について警告します。
- *NOPPTRACE
- プリプロセッサーによる組み込みファイルのトレースはリストしません。
- *PPTRACE
- プリプロセッサーによる組み込みファイルのトレースをリストします。
- *NOREACH
- 到達不能ステートメントについての警告はしません。
- *REACH
- 到達不能ステートメントについて警告します。
- *NOTEMP
- コンパイラーが一時変数を作成した場合にメッセージは生成しません。
- *TEMP
- コンパイラーが一時変数を作成した場合にメッセージを生成します。
- *NOTRUNC
- データの考えられる切り捨てまたは喪失についての警告はしません。
- *TRUNC
- データの考えられる切り捨てまたは喪失について警告します。
- *NOUNUSED
- 未使用の自動または静的変数は検査しません。
- *UNUSED
- 未使用の自動または静的変数を検査します。
| 上 |
最適化 (OPTIMIZE)
生成されるオブジェクトの最適化のレベルを指定します。
- 10
- 生成されるコードは最適化されません。このレベルでのコンパイル時間は最短です。このレベルでは,デバッグ中に変数を表示して変更することができます。
- 20
- コードについて一部の最適化が実行されます。このレベルでは,デバッグ中にユーザーが変数を表示することができますが,変更することはできません。
- 30
- 生成されるコードについて完全な最適化が実行されます。デバッグ・セッション中は,ユーザー変数は変更することができませんが,表示することはできます。表示される値は,変数の現行値でない場合があります。
- 40
- レベル30で実行されたすべての最適化が生成されるコードについて実行されます。さらに,コードは,命令トレースおよび呼び出しトレース・システム機能を使用可能にするプロシージャーのプロローグおよびエピローグ・ルーチンから除去されます。このコードを除去することによって,リーフ・プロシージャーの作成が可能になります。リーフ・プロシージャーとは,他のプロシージャーに対する呼び出しを含まないプロシージャーです。リーフ・プロシージャーに対するプロシージャー呼び出しのパフォーマンスは,通常のプロシージャーに対する呼び出しより高速となります。
| 上 |
インライン・オプション (INLINE)
コンパイラーが呼び出し先関数の命令による関数呼び出しの置き換えを考慮する必要があるかどうかを指定します。関数をインライン化することによって,呼び出しのオーバーヘッドが取り除かれるので,結果としてより良好に最適化することができます。何度も呼び出される小さな関数は,インライン化の候補として適しています。
要素1: インライナー
インライン化を使用するかどうかを指定します。
- *OFF
- コンパイル単位にインライン化は実行されないことを指定します。
- *ON
- コンパイル単位にインライン化が実行されることを指定します。デバッグ・ビューが指定された場合には,インライン化はオフにされます。
要素2: モード
そのしきい値および限界値に基づいて,インライナーは関数のインライン化を自動的に試みる必要があるかどうかを指定します。
- *AUTO
- インライナーは指定されたしきい値および限界値に基づいて関数をインライン化できるかどうかを判別する必要があることを指定します。*AUTOは#PRAGMA NOINLINEディレクティブによって上書きされます。
- *NOAUTO
- #PRAGMA INLINEディレクティブによって指定された関数のみをインライン化の候補として考慮する必要があることを指定します。
要素3: しきい値
自動インライン化の候補にできる関数の最大サイズを指定します。このサイズは,抽象コード単位(ACU)で測定されます。ACUのサイズは関数中の実行可能コードと比例します。ソース・コードは,コンパイラーによってACUに変換されます。
- 250
- 250のしきい値を指定します。
- 1-65535
- ACUのしきい値を指定します。
- *NOLIMIT
- しきい値をプログラム・オブジェクトの最大サイズとして定義します。
要素4: 限界
自動インライン化を停止する前に関数を拡張できる最大相対サイズを指定します。
- 2000
- 2000 ACUの限界を指定します。
- *NOLIMIT
- 限界はプログラム・オブジェクトの最大サイズとして定義されます。システム限界が検出されることがあります。
- 1-65535
- ACUの限界を指定してください。
要素5: 報告書
コンパイラー・リストともにインライナー報告書を生成するかどうかを指定します。
- *NO
- インライナー報告書は生成されません。
- *YES
- インライナー報告書がコンパイラー・リストの一部として生成されます。インライナー報告書を生成するには,OUTPUTオプションの指定が必要です。
| 上 |
モジュール作成オプション (MODCRTOPT)
モジュール・オブジェクトの作成時に使用するオプションを指定します。
- *NOKEEPILDTA
- モジュール・オブジェクトと一緒に中間言語データは保管されません。
- *KEEPILDTA
- モジュール・オブジェクトと一緒に中間言語データが保管されます。
| 上 |
デバッグ・ビュー (DBGVIEW)
作成されたプログラムまたはサービス・プログラム・オブジェクトでモジュールに対して使用できるデバッグのレベルを指定します。ソース・レベルのデバッグ用にどのソース・ビューが使用可能かも指定されます。デバッグ・ビューを要求すると,インライン化はオフにされます。
- *NONE
- デバッグ機能はモジュール・オブジェクトに挿入されません。
- *ALL
- すべてのデバッグ・オプション(*STMT, *SOURCE,および*LIST)が使用可能になります。
- *STMT
- プログラム・ステートメント番号および記号識別コードを使用したモジュール・オブジェクトのデバッグが可能になります。
注: *STMTオプションを使用してモジュール・オブジェクトをデバッグするには,リストが必要です。
- *SOURCE
- モジュール・オブジェクトのデバッグのためのソース・ビューを生成します。OPTIONパラメーターの値*NOSHOWINC, *SHOWINC, *SHOWSYS,および*SHOWUSRによって,作成されるソース・ビューの内容が決まります。
注: このビューをデバッグ用に使用するには,モジュールが作成された後に,ルート・ソース・ファイルを変更,名前変更,または移動しないようにしてください。
- *LIST
- モジュール・オブジェクトのデバッグ用のリスト・ビューを生成します。OPTIONパラメーターの値*SHOWINC, *SHOWUSR, *SHOWSYS, および*NOSHOWINCによって,作成されるリスト・ビューの内容が決まります。
| 上 |
デバッグ暗号鍵 (DBGENCKEY)
デバッグ・ビューに組み込まれているプログラム・ソースの暗号化に使用する暗号鍵を指定します。
- *NONE
- 暗号鍵は指定されていません。
- 文字値
- モジュール・オブジェクトに保管されたデバッグ・ビューに組み込まれているプログラム・ソースの暗号化に使用する鍵を指定してください。鍵の長さは1から16バイトまでです。1から15バイトの長さの鍵を指定した場合は,暗号化のため,不足桁にブランクが埋め込まれて16バイトになります。長さがゼロの鍵を指定した場合は,*NONEを指定した場合と同様に扱われます。
すべてのコード・ページにわたってインバリアントではない文字が鍵に含まれている場合には,ターゲット・システムがソース・システムと同じコード・ページを使用するようにしてください。さもなければ,鍵が一致せず,暗号化解除に失敗することがあります。コード・ページが異なるシステムで暗号鍵を入力する必要がある場合には,すべてのEBCDICコード・ページでインバリアントな文字で鍵を構成することをお勧めします。
| 上 |
名前の定義 (DEFINE)
ファイルがコンパイラーによって処理される前に有効となるプリプロセッサー・マクロを指定します。形式DEFINE(MACRO)の使用はDEFINE('MACRO=1')と同等です。
単一値
- *NONE
- マクロは定義されません。
その他の値(反復は最大32回まで)
- '名前'または'名前=値'
- 最大32個のマクロを定義できます。各マクロ名はアポストロフィで囲まれます。マクロ名の最大長は80文字です。アポストロフィは80の文字列の一部ではありません。アポストロフィは,大文字小文字を区別するマクロに必要です。
注: コマンドで定義されたマクロによって,ソースにある同じ名前のすべてのマクロ定義が上書きされますが,コンパイラーにより警告メッセージが生成されます。#define max(a,b) ((a)>(b)?(a):(b))など関数と類似したマクロをコマンド行で定義することはできません。
| 上 |
言語レベル (LANGLVL)
コンパイラーの機能と,ソースの作成時に宣言されるプロトタイプを指定します。
- *EXTENDED
- プリプロセッサー変数__EXTENDED__を定義し,他の言語レベル変数は未定義とします。このパラメーターは,ILE C++のすべての機能が必要な場合に使用する必要があります。
- *ANSI
- プリプロセッサー変数__ANSI__, __STDC__,および__cplusplus98_interface__を定義し,他の言語レベル変数を未定義にします。ANSI標準C++だけが使用可能とされます。
- *LEGACY
- このオプションによって,一部のソース構成が初期のコンパイラーで受け入れ可能になります。
- *EXTENDED0X
- このオプションは,ILE C++のすべての機能と,このバージョンのILE C++コンパイラーで実装された現在サポートされているC++11機能を使用して,コードをコンパイルします。
| 上 |
別名 (ALIAS)
作成中のモジュール・オブジェクトに適用される別名割り当てアサーションを指定します。
このパラメーターには3個の値を指定できます。
- *ANSI
- モジュール・オブジェクトで,ポインターが,同一タイプのオブジェクトのみを指し示すようになります。
- *NOANSI
- モジュール・オブジェクトは,*ANSI別名割り当て規則を使用しません。
- *ADDRTAKEN
- モジュール・オブジェクトで,変数のアドレスが使用されない場合に,その変数のクラスがポインターから切り離されます。
- *NOADDRTAKEN
- モジュール・オブジェクトは,*ADDRTAKEN別名割り当て規則を使用しません。
- *ALLPTRS
- モジュール・オブジェクトで,2つのポインターに別名を割り当てることができなくなります。
- *NOALLPTRS
- モジュール・オブジェクトは,*ALLPTRS別名割り当て規則を使用しません。
- *TYPEPTR
- モジュール・オブジェクトで,タイプの異なる2つのポインターに別名を割り当てることができなくなります。
- *NOTYPEPTR
- モジュール・オブジェクトは,*TYPEPTR別名割り当て規則を使用しません。
| 上 |
SYSTEMインターフェースOPT (SYSIFCOPT)
作成中のモジュール・オブジェクトに使用されるシステム・インターフェース・オプションを指定します。
- *IFS64IO
- モジュール・オブジェクトは,64ビットCストリーム入出力操作に統合ファイル・システムを使用します。
- *IFSIO
- モジュール・オブジェクトは,Cストリーム入出力操作に統合ファイル・システムを使用します。
- *NOIFSIO
- モジュール・オブジェクトは,Cストリーム入出力操作にデータ管理機能ファイル・システムを使用します。
| 上 |
LOCALEオブジェクト・タイプ (LOCALETYPE)
作成中のモジュール・オブジェクトで使用されるロケール・サポートのタイプを指定します。
- *LOCALE
- このオプションで作成されたモジュール・オブジェクトは,*LOCALEオブジェクトによって指定されるロケール・サポートを使用します。
- *LOCALEUCS2
- このオプションで作成されたモジュール・オブジェクトは,*LOCALEオブジェクトによって指定されるロケール・サポートを使用します。広幅(WIDE)文字タイプには2つの2バイト汎用文字セットの値が含まれることになります。
- *LOCALEUTF
- このオプションで作成されたモジュール・オブジェクトは,*LOCALEオブジェクトによって指定されるロケール・サポートを使用します。広幅(WIDE)文字タイプには,4バイトのUTF-32の値が含まれます。狭幅(NARROW)文字タイプには,shift_jisの値が含まれます。
| 上 |
メッセージのフラグ・レベル (FLAG)
リストに表示するメッセージのレベルを指定します。
- 0
- 通知レベルで始まるすべてのメッセージが表示されます。
- 10
- 警告レベルで始まるすべてのメッセージが表示されます。
- 20
- エラー・レベルで始まるすべてのメッセージが表示されます。
- 30
- 重大エラー・レベルで始まるすべてのメッセージが表示されます。
| 上 |
メッセージ限界 (MSGLMT)
指定されたメッセージ重大度(またはそれ以上)のメッセージの最大数を指定します。コンパイルが停止するまでに,このメッセージ数までメッセージを生成できます。
要素1: メッセージ限界
指定したメッセージ重大度レベル以上で生じさせることができるメッセージの最大数を指定します。
- *NOMAX
- 指定されたメッセージ重大度レベルで生じたメッセージの数とは無関係に,コンパイルが続行されます。
- 0-32767
- 生じさせることができるメッセージの数を指定します。
要素2: メッセージ限界の重大度
メッセージ重大度を指定します。ここで指定した重大度以上のメッセージが特定の数(要素1に指定された数)だけ生成されるとき,コンパイルを停止できます。
- 30
- コンパイルが停止するまでに,重大度30のメッセージを指定の数だけ生成できます。
- 0
- コンパイルが停止するまでに,重大度0以上のメッセージを指定の数だけ生成できます。
- 10
- コンパイルが停止するまでに,重大度10以上のメッセージを指定の数だけ生成できます。
- 20
- コンパイルが停止するまでに,重大度20以上のメッセージを指定の数だけ生成できます。
| 上 |
MODULE OBJECTの置き換え (REPLACE)
オブジェクトの既存のバージョンを現行バージョンで置き換えるかどうかを指定します。
- *YES
- 既存のオブジェクトが新規バージョンで置き換えられます。旧バージョンはQRPLOBJライブラリーに移動し,システム日付および時刻に基づいて名前変更されます。置き換えられたオブジェクトのテキスト記述は,オリジナルのオブジェクトの名前に変更されます。旧オブジェクトは,それが明示的に削除されていなければ,次回のIPL時に削除されます。
- *NO
- 既存のオブジェクトは置き換えられません。指定のライブラリーで同じ名前のオブジェクトが見つかった場合,メッセージが表示されて,コンパイルが停止します。
| 上 |
権限 (AUT)
オブジェクトに対する特定権限がないユーザー,権限リスト上にないユーザー,またはそのグループにオブジェクトに対する特定権限がないユーザーに許可される権限を指定します。
- *LIBCRTAUT
- オブジェクトに対する共通権限はターゲット・ライブラリー(作成されたオブジェクトが入れられるライブラリー)のCRTAUTキーワードからとられます。この値は,オブジェクトの作成時に決定されます。オブジェクトの作成後にライブラリーのCRTAUT値が変更された場合には,この新規の値はライブラリー中の既存のどのオブジェクトにも影響しません。
- *ALL
- 所有者に限定されるか,あるいは権限リスト管理権限によって制御される操作を除いて,オブジェクトでのすべての操作に対する権限が提供されます。どのユーザーも,オブジェクトの存在を制御し,その機密保護を指定し,変更し,また,その所有権の転送も含めてオブジェクトに対する基本操作を実行することができます。
- *CHANGE
- すべてのデータ権限,および所有者に限定されるか,あるいは権限リスト管理権限によって制御される操作を除いて,オブジェクトでのすべての操作を実行する権限が提供されます。オブジェクトを変更し,それに基本操作を実行することができます。
- *USE
- オブジェクト操作権,読み取り権限,およびモジュール・オブジェクトのバインドなど,オブジェクトへの基本読み取り専用操作に対する権限が提供されます。特定権限のないユーザーは,オブジェクトを変更することができません。
- *EXCLUDE
- 特殊権限のないユーザーはオブジェクトにアクセスすることができません。
- 名前
- オブジェクトの追加先となるユーザーと権限で構成された権限リストの名前を指定してください。オブジェクトはこの権限リストによって保護され,そのオブジェクトの共通権限は*AUTLに設定されます。権限リストは,コマンドが出された時にシステム上に存在していなければなりません。
| 上 |
ターゲット・リリース (TGTRLS)
ユーザーが作成中のオブジェクトを使用したいオペレーティング・システムのリリースを指定します。
*CURRENTおよび*PRVの値について示される例の中,および リリース・レベル の値を指定する場合には,形式VXRXMXを使用してリリースが指定されます。ここで,VXはバージョン,RXはリリース,そしてMXはモディフィケーション・レベルです。たとえば,V4R5M0は,バージョン4,リリース5,モディフィケーション・レベル0です。
- *CURRENT
- オブジェクトは,ユーザーのシステムで現在実行されているオペレーティング・システムのリリースで使用されます。例えば,V6R1M0がシステムで実行されている場合には,*CURRENTは,ユーザーがV6R1M0導入済みのシステムでオブジェクトを使用する意図があることを意味します。ユーザーは,また,このリリース以降のオペレーティング・システムが導入されたシステムでもオブジェクトを使用することができます。
- *PRV
- オブジェクトは,オペレーティング・システムの前のリリース(モディフィケーション・レベル0)で使用されます。例えば,V6R1M0がユーザーのシステムで実行されている場合には,*PRVは,ユーザーがV5R4M0導入済みのシステムでオブジェクトを使用する意図があることを意味します。ユーザーは,また,このリリース以降のオペレーティング・システムが導入されたシステムでもオブジェクトを使用することができます。
- リリース・レベル
- リリースを形式VXRXMXで指定します。オブジェクトは,指定したリリースのシステムでか,あるいはこのリリース以降のオペレーティング・システムが導入されたシステムで使用することができます。
有効な値は,現行バージョン,リリース,およびモディフィケーション・レベルによって異なります。これらは各新規リリースごとに変更されます。このコマンドによってサポートされる最も初期のリリース・レベルより前のリリース・レベルを指定した場合には,エラー・メッセージが送られます。
| 上 |
パフォーマンス収集使用可能化 (ENBPFRCOL)
オブジェクト内でパフォーマンス測定コードを生成すべきかどうかを指定します。収集されたデータは,システム・パフォーマンス・ツールによって使用し,アプリケーションのパフォーマンスのプロファイルを作成することができます。作成されたオブジェクト内でパフォーマンス測定コードを生成すると,オブジェクトのサイズがわずかに増えるため,パフォーマンスに影響が及ぶ可能性があります。
注: V6R1M0以降では,このパラメーターは作成されたオブジェクトに対して作用しなくなります。このパラメーターは,V6R1M0より前のリリースとの互換性を保つためにのみ用意されています。
- *PEP
- パフォーマンス統計は,プログラム・エントリー・プロシージャーの入り口と出口でのみ収集されます。この値は,アプリケーションの全般的なパフォーマンス情報を収集したい場合に選択します。
- *ENTRYEXIT *NONLEAF
- パフォーマンス統計は,プログラム・オブジェクトの全プロシージャー(リーフ・プロシージャーを除く)の入り口と出口で収集されます。これにはプログラムPEPルーチンが含まれます。
この選択項目は,アプリケーション内の他のルーチンを呼び出すルーチンに関する情報だけを取り込みたい場合に有用です。
- *ENTRYEXIT *ALLPRC
- パフォーマンス統計は,プログラム・オブジェクトの全プロシージャー(リーフ・プロシージャーを含む)の入り口と出口で収集されます。これには,プログラムPEPルーチンが含まれます。
この選択項目は,すべてのルーチンに関する情報を取り込みたい場合に有用です。このオプションは,ユーザーのアプリケーションから呼び出されるすべてのプログラム・オブジェクトが,*PEP, *ENTRYEXIT, *FULLのいずれかのオプションを使用して作成されたことが判明している場合に使用します。それ以外の場合,パフォーマンス測定に対して使用可能にならない他のプログラム・オブジェクトがユーザーのアプリケーションから呼び出されると,パフォーマンス・ツールは,そのプログラム・オブジェクトによる資源の使用についてユーザーのアプリケーションに任せます。このため,資源が実際に使用されている場所を判別するのが困難になることがあります。
- *FULL *NONLEAF
- パフォーマンス統計は,リーフ・プロシージャーではないすべてのプロシージャーの入り口と出口で収集されます。また,外部プロシージャーに対する個々の呼び出しの前および後にも統計が収集されます。
- *FULL *ALLPRC
- パフォーマンス統計は,リーフ・プロシージャーを含むすべてのプロシージャーの入り口と出口で収集されます。また,外部プロシージャーに対する個々の呼び出しの前および後にも統計が収集されます。
このオプションは,作成時に*PEP, *ENTRYEXIT, *FULLのいずれも使用されなかった他のプログラム・オブジェクトをユーザーのアプリケーションから呼び出そうと考えている場合に使用します。このオプションを使用すると,パフォーマンス・ツールは,ユーザーのアプリケーションによって使用されている資源と,そのアプリケーションから呼び出されたプログラム・オブジェクトによって使用されている資源を,(そのプログラム・オブジェクトがパフォーマンス測定に対して使用可能にならない場合でも)区別できるようになります。このオプションを使用すると,効率は最も悪くなりますが,アプリケーション内の各種プログラム・オブジェクトを選択的に分析できるようになります。
| 上 |
パフォーマンス・オプション (PFROPT)
パフォーマンスを高めるために使用可能な各種のオプションを指定します。それらは,1つまたは複数のブランクで区切り,任意の順序で指定できます。1つのオプションが複数回指定されたり,2つのオプションが競合する場合には,最後に指定されたものが使用されます。
このパラメーターには2個の値を指定できます。
- *SETFPCA
- 浮動小数点計算に対するANSIのセマンティクスを達成するために,コンパイラーに浮動小数点計算属性を設定させます。
- *NOSETFPCA
- 計算属性は設定されません。このオプションは,作成中のオブジェクトに浮動小数点計算が含まれない場合にのみ使用してください。
- *NOSTRDONLY
- コンパイラーは文字列を書き込み可能メモリーに入れる必要があることを指定します。
- *STRDONLY
- コンパイラーは文字列を読み取り専用メモリーに入れることができることを指定します。
| 上 |
プロファイル作成データ (PRFDTA)
モジュール・オブジェクトのプログラム・プロファイル作成データ属性を指定します。プログラム・プロファイル作成は,プロシージャーおよびプロシージャー内のコードを統計データ(プロファイル作成データ)に基づいて配列し直すために使用される拡張最適化手法です。
- *NOCOL
- モジュール・オブジェクトは,プロファイル作成データの収集に使用できません。
- *COL
- モジュール・オブジェクトは,プロファイル作成データの収集に使用できます。*COLは,最適化レベルが30以上である場合にのみ指定することができます。
| 上 |
テラスペース・オプション (TERASPACE)
テラスペース・ストレージの処理にモジュール・オブジェクトを使用可能にするかどうかを指定します。これには,モジュール・オブジェクトによって割り振られるテラスペース・ストレージや,他のテラスペース対応プログラムおよびサービス・プログラムのオブジェクトから渡されたパラメーターによって割り振られるテラスペース・ストレージが含まれます。
単一値
- *NO
- モジュール・オブジェクトは,テラスペースから割り振られたストレージのアドレス指定の処理に使用できません。
注: V6R1M0以降では,テラスペースから割り振られたストレージのアドレス指定の処理にすべてのモジュールが使用可能です。ただし,*NOが指定されている場合には,以下にリストされているコンパイラー機能が使用できなくなります。
要素1: テラスペース使用可能
- *YES
- モジュール・オブジェクトは,他のテラスペース対応プログラムやサービス・プログラムのオブジェクトから渡されたパラメーターも含めて,テラスペースから割り振られたストレージのアドレス指定の処理に使用できます。さらに,以下のコンパイラー機能も使用できます。
- テラスペース・ストレージへのアクセスに使用される8バイト・ポインターを作成できるように,ポインターは__ptr64で修飾できます。
- テラスペース・ストレージ・モデルは,STGMDL(*TERASPACE)コンパイラー・オプションを使用して指定できます。
- LLP64データ・モデルは,DTAMDL(*LLP64)コンパイラー・オプションまたは#pragma datamodel(llp64)ディレクティブを使用して指定できます。
- ポインター差分演算は,ptrdiff_tの結果ではなく,signed long longの結果を戻します。
要素2: TERASPACE INTERFACESの使用
- *NOTSIFC
- モジュール・オブジェクトは,デフォルトで,ストレージ機能の非テラスペース・バージョンを使用するようになります。
- *TSIFC
- モジュール・オブジェクトは,デフォルトで,ストレージ機能のテラスペース・バージョンを使用するようになります。コンパイラーは,マクロ変数__TERASPACE__を定義することになります。
| 上 |
ストレージ・モデル (STGMDL)
作成されたオブジェクトで使用する記憶域のタイプを指定します。
- *SNGLVL
- 作成されたオブジェクトは,単一レベルの記憶域を使用します。
- *TERASPACE
- 作成されたオブジェクトは,テラスペース記憶域を使用します。
- *INHERIT
- 作成されたオブジェクトは,単一レベルとテラスペースのどちらの記憶域も使用することができます。使用される記憶域のタイプは,呼び出し元に必要な記憶域のタイプによって異なります。
| 上 |
データ・モデル (DTAMDL)
INT, LONG, POINTERとして宣言される変数のサイズ(バイト数)を指定します。
- *P128
- INT, LONG, POINTERのサイズがそれぞれ4, 4, 16となるようにします。
- *LLP64
- INT, LONG, POINTERのサイズがそれぞれ4, 4, 8となるようにします。コンパイラーは,マクロ__LLP64_IFC__を定義することになります。
| 上 |
ランタイム・バインディング (RTBND)
作成されたオブジェクトの実行時バインディング・ディレクトリーを指定します。
- *DEFAULT
- 作成されたオブジェクトは,デフォルトのバインディング・ディレクトリーを使用します。
- *LLP64
- 作成されたオブジェクトは,64ビット実行時バインディング・ディレクトリーを使用します。この値を使用できるのは,テラスペース・ストレージ・モデル,64ビット・データ・モデル,およびテラスペース・ストレージ機能インターフェースの各オプションと一緒に使用する場合のみです。コンパイラーは,マクロ__LLP64_RTBND__を定義します。
| 上 |
パック構造 (PACKSTRUCT)
構造のメンバーに使用する位置合わせ境界を指定します。
- *NATURAL
- 構造メンバーはその自然境界で位置合わせされます。たとえば,短形式整数は2バイトで位置合わせされます。16バイト・ポインターは,常に16バイト境界で位置合わせされます。
- 1
- 構造メンバーを1バイトの位置合わせでパックします。
- 2
- 構造メンバーを2バイトの位置合わせでパックします。
- 4
- 構造メンバーを4バイトの位置合わせでパックします。
- 8
- 構造メンバーを8バイトの位置合わせでパックします。
- 16
- 構造メンバーを16バイトの位置合わせでパックします。
| 上 |
Enumサイズ (ENUM)
コンパイラーが列挙型を表すために使用するバイト数を指定します。
- *SMALL
- すべてのENUM変数を,値の範囲を表すことができる最も小さいサイズにします。
- 1
- すべてのENUM変数を1バイトにします。
- 2
- すべてのENUM変数を2バイトにします。
- 4
- すべてのENUM変数を4バイトにします。
- *INT
- ANSI標準のENUMサイズである4バイトを使用します。
| 上 |
依存関係情報 (MAKEDEP)
依存関係情報をファイルの中に生成するかどうかを指定します。この情報は,MAKE TOOLによって使用されます。
- *NONE
- 依存関係情報は生成しません。
- パス名
- 依存関係情報を保管するストリーム・ファイルのパス名を指定します。
| 上 |
プリプロセッサー・オプション (PPGENOPT)
ソース・コードのコンパイル時に使用するプリプロセッサー生成オプションを指定します。
単一値
- *NONE
- ソース・ファイルに対してコンパイラー全体を実行します。プリプロセッサーの出力をファイルにはコピーしません。
- *DFT
- 入力ソースに対してプリプロセッサーを実行します。*RMVCOMMENTおよび*GENLINEは,プリプロセッサーの出力を生成するためのオプションとして使用されます。出力ソース・ファイルおよびメンバーを指定するにはPPSRCFILEおよびPPSRCMBRを使用し,あるいはプリプロセッサーの出力を入れるストリーム・ファイルを指定するにはPPSRCSTMFを使用します。
その他の値(反復は最大2回まで)
- *RMVCOMMENT
- 前処理中に,注記を除去します。
- *NORMVCOMMENT
- 前処理中に,注記を保存します。
- *GENLINE
- プリプロセッサー出力の中に#LINEディレクティブを生成します。
- *NOGENLINE
- プリプロセッサーの出力から#LINEディレクティブを抑制します。
| 上 |
出力ソース・ファイル (PPSRCFILE)
プリプロセッサー出力用の物理ファイルを指定します。
修飾子1: 出力ソース・ファイル
- 名前
- プリプロセッサーの出力のための物理ファイルの名前を指定します。
修飾子2: ライブラリー
- *CURLIB
- プリプロセッサーの出力は現行ライブラリーに作成されます。ジョブに現行ライブラリーがない場合には,プリプロセッサーの出力ファイルはQGPLライブラリーの中に作成されます。
- 名前
- プリプロセッサーの出力のためのライブラリーの名前を指定します。
| 上 |
出力ソース・メンバー (PPSRCMBR)
プリプロセッサー出力用の物理ファイル・メンバーを指定します。
- *MODULE
- このモジュール (MODULE)パラメーターに指定された名前が,プリプロセッサー出力メンバー名として使用されます。
- 名前
- プリプロセッサーの出力のためのメンバーの名前を指定します。
| 上 |
出力ストリーム・ファイル (PPSRCSTMF)
プリプロセッサーの出力のためのストリーム・ファイルのパス名を指定します。
- *SRCSTMF
- ソース・ストリーム・ファイル (SRCSTMF)パラメーターに指定されたパス名が,プリプロセッサー出力パス名として使用されます。このファイルには拡張子'.I'があります。
- パス名
- プリプロセッサーの出力ストリーム・ファイルのためのパス名を指定します。
| 上 |
組み込みディレクトリー (INCDIR)
組み込みファイルを検出するためにコンパイラーが使用する検索パスに追加する1つまたは複数のディレクトリーを指定します。
検索パスは,OPTIONキーワードで次のパラメーターを使用することにより,さらに変更することができます。
- *INCDIRFIRSTまたは*NOINCDIRFIRST
- *SYSINCPATHまたは*NOSYSINCPATH
- *STDINCまたは*NOSTDINC
- *NONE
- 変更されなければ,省略時のシステム組み込みディレクトリーおよびソース・ディレクトリーからユーザー組み込みファイルが検索されます。
- パス名
- 組み込みファイルの検索場所となるディレクトリーのパス名を指定してください。最大32個のディレクトリーを指定できます。指定したディレクトリーに加えて,ソース・ディレクトリーからもユーザー組み込みファイルが検索されます。
| 上 |
コンパイラー・サービスOPT (CSOPT)
1つまたは複数のコンパイラー・サービス・オプションを指定します。このパラメーターにより,IBMはリリース相互間で切り替え可能なコンパイラーを提供することができます。
- *NONE
- コンパイラー・サービス・オプションは選択されません。
- 文字値
- モジュール・オブジェクトの作成時に使用するコンパイラー・サービス・オプションを含む文字ストリングを指定してください。有効な文字列は,PTFカバー・レターまたはリリース情報に記述されます。
| 上 |
ライセンス内部コードOPT (LICOPT)
1つまたは複数のライセンス内部コード・コンパイル時オプションを指定します。このパラメーターは,個別のコンパイル時オプションを選択できるようにするもので,選択された各タイプのコンパイラー・オプションの潜在的な長所と短所を理解している上級プログラマーを対象としています。
- *NONE
- コンパイル時オプションは選択されません。
- 文字値
- 選択されたライセンス内部コード・コンパイル時オプションが,モジュール・オブジェクトの作成時に使用されます。特定のオプションでは,作成されたモジュール・オブジェクトをデバッグする能力が低下することがあります。
| 上 |
省略時の文字タイプ (DFTCHAR)
CHARデータ・タイプの省略時の符号を指定します。
- *UNSIGNED
- 省略時のCHARタイプを符号なしとします。
- *SIGNED
- 省略時のCHARタイプを符号付きとします。
| 上 |
ターゲットCCSID (TGTCCSID)
結果のモジュール・オブジェクトに保管されるデータを記述するために使用されるターゲット・コード化文字セットIDを指定します。
- *SOURCE
- ルート・ソース・ファイルのCCSIDが使用されます。
- *JOB
- 現行ジョブのCCSIDが使用されます。
- *HEX
- CCSID 65535が使用されます。これは,文字データはバイナリー・データとして取り扱われ,変換されないことを指示します。
- 1-65535
- 使用するCCSIDを指定します。
| 上 |
テンプレート・オプション (TEMPLATE)
コンパイラーに対するテンプレート・オプションを指定します。
要素1: 一時組み込みディレクトリー
- *NONE
- テンプレートは生成されません。
- *TEMPINC
- テンプレートは,ルート・ソース・ファイルが見つかったディレクトリーの中に作成されるTEMPINCという名前のディレクトリーの中に生成されます。ソース・ファイルがストリーム・ファイルでない場合,ソース・ファイルが置かれているライブラリー内に,ファイルTEMPINCが作成されます。TEMPLATE(*TEMPINC)パラメーターとTMPLREGパラメーターは相互に排他的です。
- パス名
- コンパイラーがテンプレートを生成するディレクトリーのパス名を指定してください。
要素2: 生成済み最大見出し数
- 1
- テンプレートが入れられる,生成されるヘッダーの最大数。
- 1-99999
- 生成されるヘッダー・ファイルの最大数を指定してください。
要素3: テンプレートの妥当性検査
構文解析とセマンティック検査が,テンプレート定義の実装に適用されるのか,テンプレートのインスタンス化にのみ適用されるのかを制御します。コンパイラーには,警告やエラー・メッセージを生成するオプションを指定できます。使用可能なパラメーターは次のとおりです。
- *NO
- 構文解析時に,前のバージョンのコンパイラーに合わせて作成されたコードで発行されるエラーの数を減らしません。
- *WARN
- セマンティック・エラーに関して警告メッセージを発行します。構文解析時に検出されたエラーに関しては,エラー・メッセージを発行します。
- *ERROR
- テンプレートがインスタンス化されていない場合でも,テンプレート実装での問題をエラーとして扱います。
| 上 |
テンプレート・レジストリー (TMPLREG)
ソース内で検出されたすべてのテンプレートを記録し,テンプレートごとにインスタンス化が1回だけ行われるようにします。TMPLREGパラメーターとTEMPLATE(*TEMPINC)パラメーターは相互に排他的です。
- *NONE
- テンプレート情報の追跡にテンプレート・レジストリー・ファイルを使用しません。
- *DFT
- ソース・ファイルがストリーム・ファイルの場合,デフォルト名が'templateregistry'のテンプレート・レジストリー・ファイルが,ソース・ディレクトリー内に作成されます。ソース・ファイルがストリーム・ファイルでない場合,ソースが置かれているライブラリー内に,メンバーQTMPLREGを含むファイルQTMPLREGが作成されます。
- path-name
- テンプレート・レジストリー情報の保管先となるストリーム・ファイルのパス名を指定します。
| 上 |
Weakテンプレート定義 (WEAKTMPL)
弱い定義をテンプレート・クラスの静的メンバーに使用するのかどうかを指定します。テンプレート・クラスの静的メンバーを弱く定義すると,プログラムやサービス・プログラムのオブジェクトで複数の定義が衝突することを防止できます。
- *YES
- テンプレート・クラスの静的メンバーに,弱い定義が使用されます。
- *NO
- テンプレート・クラスの静的メンバーに,弱い定義は使用されません。
| 上 |
10進浮動丸めモード (DECFLTRND)
定数10進浮動小数点式の評価のコンパイル時丸めモードを指定します。このオプションは,実行時10進浮動小数点丸めモード(setca組み込み関数を使用して設定される)には影響しません。
- *HALFEVEN
- 最も近い値に丸めます。最も近い値が2つある場合,偶数を選択します。例えば,5.22の場合は5.2に,5.67の場合は5.7に,5.55の場合は5.6に,5.65の場合は5.6に,それぞれ丸められます。
- *DOWN
- ゼロに近い方の数字に丸めるか,または結果の数字を切り捨てます。例えば,5.22の場合は5.2に,5.67の場合は5.6に,5.55の場合は5.5に,5.65の場合は5.6に,それぞれ丸められます。
- *UP
- ゼロから遠い方の数字に丸めます。例えば,5.22の場合は5.3に,5.67の場合は5.7に,5.55の場合は5.6に,5.65の場合は5.7に,それぞれ丸められます。
- *HALFUP
- 最も近い値に丸めます。最も近い値が2つある場合,ゼロから遠い方の数字に丸めます。例えば,5.22の場合は5.2に,5.67の場合は5.7に,5.55の場合は5.6に,5.65の場合は5.7に,それぞれ丸められます。
- *HALFDOWN
- 最も近い値に丸めます。最も近い値が2つある場合,ゼロから近い方の数字に丸めます。例えば,5.22の場合は5.2に,5.67の場合は5.7に,5.55の場合は5.5に,5.65の場合は5.6に,それぞれ丸められます。
- *FLOOR
- 小さい数字になるように丸めます。例えば,5.22の場合は5.2に,5.67の場合は5.6に,5.55の場合は5.5に,5.65の場合は5.6に,それぞれ丸められます。
- *CEILING
- 大きい数字になるように丸めます。例えば,5.22の場合は5.3に,5.67の場合は5.7に,5.55の場合は5.6に,5.65の場合は5.7に,それぞれ丸められます。
| 上 |
例
例1:ソース・ファイル・メンバーからのモジュールの作成
CRTCPPMOD MODULE(QTEMP/TEST) SRCFILE(QTEMP/QCPPSRC)
このコマンドは,モジュール・オブジェクトTESTをライブラリーQTEMP内に作成します。C++ソースは,ライブラリーQTEMPにあるソース・ファイルQCPPSRCのメンバーTEST内に指定されます。
例2:ストリーム・ファイルからのモジュールの作成
CRTCPPMOD MODULE(QTEMP/TEST) SRCSTMF('/tmp/mySrc.C')
このコマンドは,モジュール・オブジェクトTESTをライブラリーQTEMP内に作成します。C++ソースは,ストリーム・ファイル/tmp/mySrc.C内に指定されます。
例3:コンパイル・リストのコンパイルおよび生成
CRTCPPMOD MODULE(TEST) OUTPUT(*PRINT) OPTION(*XREF)
このコマンドは,モジュール・オブジェクトTESTをジョブの現行ライブラリー内に作成しますが,現行ライブラリーが定義されていない場合は,ライブラリーQGPL内に作成します。C++ソースは,ソース・ファイルQCPPSRCのメンバーTEST内に指定されると想定されます(これは,ライブラリー・リストを使用して指定されます)。コンパイラー・リストが入ったスプール・ファイルが生成されます。コンパイラー・リスト・ファイルには,相互参照リストが格納されます。
例4:すべてのデバッグ・ビューを備えたモジュールの作成
CRTCPPMOD MODULE(QTEMP/TEST) SRCFILE(QTEMP/QCPPSRC)
SRCMBR(TESTER) DBGVIEW(*ALL)
このコマンドは,デバッグ時に使用されるステートメント,ソース,およびリストの各ビューを備えたモジュール・オブジェクトTESTをライブラリーQTEMP内に作成します。C++ソースは,ライブラリーQTEMPにあるソース・ファイルQCPPSRCのメンバーTESTER内に指定されます。
例5:テラスペース対応モジュールの作成
CRTCPPMOD MODULE(QTEMP/TEST) SRCFILE(QTEMP/QCPPSRC)
TERASPACE(*YES *TSIFC) STGMDL(*TERASPACE)
DTAMDL(*LLP64) RTBND(*LLP64)
このコマンドは,モジュール・オブジェクトTESTをライブラリーQTEMP内に作成します。C++ソースは,ライブラリーQTEMPにあるソース・ファイルQCPPSRCのメンバーTEST内に指定されます。このモジュールは,テラスペース・ストレージを使用する場合に使用可能にされます。ヒープ・スペース,自動ストレージ,および静的ストレージは,テラスペース・ストレージ内に入れられます。デフォルト・ポインター・サイズは8バイトになり,8バイト・ランタイムが使用されます。
例6:ファイルへの前処理済みソースの保管
CRTCPPMOD MODULE(TEST) SRCFILE(QTEMP/QCPPSRC)
PPGENOPT(*DFT) PPSRCFILE(QTEMP/QCPPSRC)
PPSRCMBR(TESTI)
このコマンドは,ライブラリーQTEMPにあるソース・ファイルQCPPSRCのメンバーTEST内に指定されているC++ソースに対してコンパイラー・プリプロセッサーを実行し,同じソース・ファイルのメンバーTESTI内に出力ソースを保管します。モジュール・オブジェクトは作成されません。
| 上 |
| 上 |