Я привык использовать следующий синтаксис
subroutine CalcA(A,N)
!DEC$ ATTRIBUTES DLLEXPORT :: CALCA
!DEC$ ATTRIBUTES ALIAS:'CalcA' :: CalcA
IMPLICIT NONE
...
end subroutine CalcA
который создает экспортированную функцию в .dll
Итак, теперь я пробую новый ISO_C_BINDING
со следующим кодом
subroutine CalcA(A,N) BIND(C, NAME="CalcA")
USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
...
end subroutine CalcA
Но функция экспорта не создана
Итак, что я здесь упускаю? Как новый iso_c_binding
заменит устаревшие объявления !DEC$ ATTRIBUTE DLLEXPORT
?
PS. Я использую Intel Fortran XE 2013 на платформе Win7-64 через VS2010.