iso_c_binding question

iso_c_binding question

Sergei M.'s picture

Hi,

What would be the right interface to call

void InitWELLRNG44497a(unsigned int *);
extern double (*WELLRNG44497a)(void);

from fortran? I have chased C_FUNPTR without success.

2 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.
Tim Prince's picture

That looks like an ordinary procedure, not a pointer to one.

interface

subroutine InitWELLRNG44497a(i) bind(c,name='InitWELLRNG44497a')

     integer(c_int) :: i

end subroutine InitWELLRNG44497a

end interface

In the absence of value attribute, a pointer to the argument will be constructed automatically, for ABI where it is appropriate (including Intel platforms).  inout will be assumed, which seems likely to be appropriate.

Login to leave a comment.