Cómo llamar a la biblioteca de enlaces dinámicos de Fortran usando c
La programación mixta en lenguaje C y Fortran se lleva a cabo con la ayuda de DLL generada por Fortran (utilizando el método de transferencia de dirección predeterminado de C para transferir parámetros de funciones) métodos y ejemplos:
1.Fortran
Generar DLL
Crear nuevo Fortran
Programa DLL test1.f
Agregar el siguiente código:
! prueba1.f90
!
! FUNCIONES/SUBRUTINAS
exportadas desde test1.dll:
! prueba1 -
subrutina
! Ejemplo de subrutina sin valor de retorno
subrutina
test1(a,b)
! ¡Exponga la subrutina test1 a
usuarios de esta DLL
!
! ATRIBUTOS DEC$
C, DLLEXPORT::test1
! Variables
! Cuerpo de
prueba1
entero a, b
suma de enteros
suma=a+b
retorno
finalizar subrutina
prueba1
! ¡Ejemplos de cuatro operaciones aritméticas enteras con valores de retorno
! Suma dos números
función
add(a, b)
ninguno implícito
! ATRIBUTOS DEC$
C, DLLEXPORT::add
entero
a, b, add
add=a+b p> p>
regresar
fin
! Restar dos números
función
abstracto(a, b)
implícita ninguna
! ATRIBUTOS DEC$
C, DLLEXPORT::abstracto
entero
a, b, abstracto
abstracto=a-b
volver
fin
! Multiplicar dos números
función
multiplicar(a, b)
implícita ninguna
! ATRIBUTOS DEC$
C, DLLEXPORT::multiplicar
entero
a, b, multiplicar
multiplicar=a*b p>
volver
fin
! Divide dos números
(Es necesario agregar un juicio para considerar si el dividendo es 0 y si es divisible)
función
dividido(a, b )
implícito ninguno
! ATRIBUTOS DEC$
C, DLLEXPORT::dividido
entero
a, b, dividido
dividido=a/b p>
return
end
Después de la compilación, se generan test1.dll y test1.obj
y otros documentos. Estos dos archivos son los que debemos llamar en VC.