4
Я пытаюсь получить доступ к переменным модуля в коде fortran, вызывая его из C. Я уже вызываю подпрограмму, но не могу вызвать переменные.доступ для данных модуля trtr из c с помощью gfortran и gcc
module myModule
use iso_c_binding
implicit none
real(C_FLOAT) aa(3)
contains
subroutine fortranFunction() bind(C)
print *,"hello world from Fortran 90"
aa(1)=1.0;
aa(2)=2.0;
aa(3)=3.0;
end subroutine
end module
и код С
#include "stdio.h"
extern void fortranfunction();
extern float mymodule_aa_[3];
int main()
{
printf("hello world from C\n");
fortranfunction();
printf("%f %f %f \n",aa[0],aa[1],aa[2]);
return 0;
}
Я компиляции через
gcc -c ccode.c
gfortran -c fortrancode.f90
gcc fortrancode.o ccode.o -lgfortran -o myprogram
, к которому НКУ реагирует с неопределенным ссылкой на `аа»
Как проходит 'aa'? –