Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo llamar a la biblioteca de enlaces dinámicos de Fortran usando c

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>

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

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

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.