RPGにおける条件付きコンパイル(LE)
-
18-09-2019 - |
質問
のみコンパイル条件、私は変数は私のプログラムで定義されているかどうかに基づいてコードのセクションを含む、またはプリプロセッサは、この情報にアクセスすることが完全にできないことはできますか?即ち私のようなものだ後:
/IF DEFINED(myVariable)
D myOtherVariable S like(myVariable)
/ELSE
D myOtherVariable S 20A
/ENDIF
このリンクはそれが示唆するように見えるありえない。もしそうなら誰もがこれを達成するための別の方法を知っていますか?
解決
これは持っている便利な機能だろうが、残念ながら、それは今日そのように動作しません。 DEFINED後の括弧内の値は、定義されたの条件名のではなく、変数名でなければなりません。それを動作させるための方法は、あなたがプログラムやコピーブックのいずれかで、その特定の変数を定義するたび/ディレクティブを定義することです。これは、すべての限りかどうか、これはお勧めであるとして、これらの状況の使用に依存します。
あなたの質問に提供されたリンクは、スポットオンであると私は結論に同意します。
他のヒント
は、追加のヒントとして、このテーマではなく、IBM RPGLEブックのためのCプログラミングの書籍を使用します。 IBMの本は、ディレクティブで何ができるかを説明します。 Cの本は、それが現実の世界のプログラム(例えば、Linuxのオープンソースプログラム)で使用される方法を説明します。そのスタイルに従うことで、あなたのRPGソースがはるかに読みやすい他のプログラマのためになります。
所属していません StackOverflow