Good question. I'm trying to use g77 because i'm trying to develop
some fortran77-only code. Of course yes i can go with gfortran. I was
just curious to see the reason.
Thanks.
On May 5, 11:26 pm, e p chandler <e...@[EMAIL PROTECTED]
> wrote:
> On May 5, 10:55 pm, K-9 <rick.peng...@[EMAIL PROTECTED]
> wrote:
>
>
>
>
>
>
>
> > Hi guys....I've spent the whole night trying to figure out about this
> > question. Please help me if you have any clue. Thanks a lot.
>
> > The code is very easy. I'm trying to call a fortran function from C.
>
> > The code is as follow:
>
> > =========C code=========
> > #include "stdio.h"
>
> > extern float r_ (int * d, float *b);
>
> > main ()
> > {
> > float a = 1.5, b = 1.05, c = 1;
> > int d = 2;
> > c = r_ (&d, &b);
> > printf ("%f\n", c);
>
> > }
>
> > ==========Fortran Code===========
> > real function r(m,t)
> > integer m
> > real t
>
> > print *, m, t
> > r = 0.1*t+46
> > print *, r
>
> > return
> > end
> > ================================
>
> > It doesn't matter what the fortran code does...but when I compile it
> > with g77, the result can't be passed back to the C code, but with
> > gfortran, it can.
> > [du@[EMAIL PROTECTED]
qr]$ g77 -v
> ...
> > gcc version 3.4.6 20060404 (Red Hat 3.4.6-4)
> > [du@[EMAIL PROTECTED]
qr]$ gfortran -v
> ...
> > gcc version 4.1.2 20070626 (Red Hat 4.1.2-13)
>
> > [du@[EMAIL PROTECTED]
qr]$ gcc -v
> ...
> > gcc version 4.1.2 20070626 (Red Hat 4.1.2-13)
>
> 1. Your g77 and gcc are of two different generations.
> 2. At some point g77 diverged from gfortran. They no longer (IIRC)
> have the same calling conventions.
> 3. Who cares? Is there a compelling reason to use g77, which is no
> longer actively maintained, instead of gfortran, which is under active
> development?


|