Call Fortran from C++

fortrancode.f

*****************************

subroutine fortfunc(ii,ff)

integer ii

real*4 ff

write(6,100) ii, ff

100 format('ii=',i2,' ff=',f6.3)

return

end

*****************************

cppcode.c

*****************************

#include <iostream>

using namespace std;

extern"C" {

void fortfunc_(int *ii, float *ff);

}

main()

{

int ii=5;

float ff=5.5;

fortfunc_(&ii, &ff);

return 0;

}

*****************************

compile as

*******************************************

gfortran -c fortrancode.f

g++ -c cppcode.c

g++ -o run fortrancode.o cppcode.o -lgfortran

*******************************************

or

*******************************************

f77 -c fortrancode.f

g++ -c cppcode.c

g++ -o run fortrancode.o cppcode.o -lg2c

*******************************************