C++モジュール作成 (CRTCPPMOD)

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: 出力ファイル名

*PRINT
リストを含むスプール・ファイルが生成されます。
パス名
リストを保留するストリーム・ファイルのパス名を指定します。

要素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キーワードで次のパラメーターを使用することにより,さらに変更することができます。

*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内に出力ソースを保管します。モジュール・オブジェクトは作成されません。

エラー・メッセージ

*ESCAPE メッセージ

CZS0613
コンパイルに失敗しました。