[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dennou-ruby:000454] Re: proto2c
ごとけんです
In message "[dennou-ruby:000448] Re: proto2c"
on 00/11/01, Masato Shiotani <shiotani@xxxxxx> writes:
>たとえば, 以下のような FORTRAN プログラムで:
>
> program main
>
> character cx*10
>
> call sub1(cx)
> write(*,*) cx
>
> end
>* ---
> subroutine sub1(cx)
>
> character cx*(*)
>
> cx='abc'
>
> end
>
>subroutine の中では 3 文字しか代入しなくても, main プログラムでは 10
>文字分確保してあるので, f2c 化したときに付加される長さ情報は 10 なんだ
>と思っていたのですが.
上の例での10を決める根拠が欲しいのです。
mainに相当する部分がラッパーなのでf2cで得るのでなくCで書く必
要があり、その際にf2cで得たsub_(char*,long)を sub1_(cx, len)
と呼ぶために、長さlenを決めなくてはなりません。で、lenを決め
る場合には、sub1側で想定しているcxの最大長を知る必要があるわ
けです。
-- gotoken