當前位置:編程學習大全網 - 編程軟體 - 怎樣用c調用fortran的動態鏈接庫

怎樣用c調用fortran的動態鏈接庫

C語言和Fortran混合編程借助於Fortran生成的DLL進行(采用C默認的傳址方式進行函數參數傳遞)方法和實例:

1.Fortran

生成DLL

新建Fortran

DLL程序test1.f

添加如下代碼:

! test1.f90

! FUNCTIONS/SUBROUTINES

exported from test1.dll:

! test1 -

subroutine

!示例沒有返回值的子例程

subroutine

test1(a,b)

! Expose subroutine test1 to

users of this DLL

!DEC$ ATTRIBUTES

C,DLLEXPORT::test1

! Variables

! Body of

test1

integer a,b

integer sum

sum=a+b

return

end subroutine

test1

!示例有返回值的整數四則運算

!兩數相加

function

add(a,b)

implicit none

!DEC$ ATTRIBUTES

C,DLLEXPORT::add

integer

a,b,add

add=a+b

return

end

!兩數相減

function

abstract(a,b)

implicit none

!DEC$ ATTRIBUTES

C,DLLEXPORT::abstract

integer

a,b,abstract

abstract=a-b

return

end

!兩數相乘

function

multiply(a,b)

implicit none

!DEC$ ATTRIBUTES

C,DLLEXPORT::multiply

integer

a,b,multiply

multiply=a*b

return

end

!兩數相除

(需要添加考慮被除數是否為0以及能否整除的判斷)

function

divided(a,b)

implicit none

!DEC$ ATTRIBUTES

C,DLLEXPORT::divided

integer

a,b,divided

divided=a/b

return

end

編譯後生成test1.dll,test1.obj等文件。其中這兩個文件是我們在VC中調用所需要的。

  • 上一篇:我想學習編程,請大神推薦壹個免費的網站
  • 下一篇:game什麽意思啊
  • copyright 2024編程學習大全網