引き数をサブプログラム呼び出しへ渡す場合、通常の Fortran の規則では、 引き数のアドレスを渡すことになっています。 C 関数の多くは、引き数がアドレスとしてでなく値として渡されることを予期しています。 そのような引き数については、以下のように C の呼び出しの中で引き数 を %VAL (引き数) として指定してください。
MEMBLK = MALLOC(1024) ! Wrong, passes the address of the constant MEMBLK = MALLOC(N) ! Wrong, passes the address of the variable MEMBLK = MALLOC(%VAL(1024)) ! Right, passes the value 1024 MEMBLK = MALLOC(%VAL(N)) ! Right, passes the value of the variable
詳細については、参照または値による引き数の引き渡しと、「XL Fortran ランゲージ・リファレンス」の
『%VAL および %REF』を参照してください。