Page History
...
- C マクロの多用について。U_BIF_xxxx 参照のすべてはヘッダーファイル(.H) X_BIF000.H に含まれているマクロへの参照です。
これらのマクロはコンパイル時に C コードに展開されます。可能なかぎり、組み込み関数と Visual LANSA 定義の間の"インターフェース"、もしくは呼び出しのインターフェースとして、これらのマクロを利用するようにしてください。こうすことで、将来変更があったとしても、アプリケーションを守ることができます。
U_BIF マクロは多数用意されています。全マクロの一覧は「提供の U_BIF マクロ」を参照してください。 - タイプ (例: X_LONG) を使ったローカル変数の定義について。この定義は標準のヘッダー・ファイル X_GLODEF.H に含まれており、Visual LANSA から提供されます。U_BIF に渡される変数は、必ず (マクロ定義に示された) これらのタイプを使って宣言する必要があります。
変数宣言
ポインター宣言
関係する実際の C タイプ
X_VOID
X_PVOID
Void
X_BOOL
X_PBOOL
Int
X_SHORT
X_PSHORT
Short
X_USHORT
X_PUSHORT
符号なし short
X_LONG
X_PLONG
Long
X_ULONG
X_PULONG
符号なしd long
X_LONGLONG
X_PLONGLONG
LONGLONG (Windows): 64 ビット 符号付き整数WATCOMC との使用は推奨されません。
X_DOUBLE
X_PDOUBLE
double
X_CHAR
X_PCHAR
char (1 文字のみ)
X_VCHAR
X_PVCHAR
char ( > NULL/文字列終端を伴う 1 つの文字)
X_LIST_COUNT
X_LIST_COUNT *
Long
- C の番号の設定規則の使用について。慣例では、多くの C オブジェクトはオフセット ("N" 個のものについては 0 から N-1) により番号が振られています。
この規則がすべての U_BIF マクロにも使われています。ですから、"引数の番号 3" というのは、実際は U_BIF マクロ内では番号 2 として参照されています。
一般的にこのアプローチにより、コーディングしやすくなります。例えば、このファンクションをよりジェネリックなものにして、2 から 20 までの番号を引数として受け取るようにします (0 で除算するテストが不要)。これを行うためには、ファンクションのボディを次のように変更する必要があります。
...