Fortran 中直接使用C進行混合程式設計

2022-05-01 05:18:08 字數 1461 閱讀 8653

先上乙個c寫的函式 check_dir.c

2:

#define checkdir_h

3:
4: #include
5:
6: #ifdef    __cplusplus
7:

extern

"c"

20:
21: #ifdef    __cplusplus
22: }
23:

#endif

24:
25:

#endif

/* checkdir_h */

編譯:gcc –c –o checkdir.o check_dir.c

在來一段fortran 呼叫的** iotils.f90

2:

implicit none

3:
4:     character(len = 256) :: path, temp
5:     integer(kind = 4) :: alive, checkdir_c
6:
7:     temp = trim(path)//achar(0)
8:     print *, "aa"

//trim(temp)

9:     alive = checkdir_c(trim(path))
10:

if (alive /= 0) then

11:         write(0,*) "error:資料夾"

//trim(path)//"建立失敗!"

12:         stop
13:     end if
14: end subroutine checkdir

編譯 gfortran –c –o iotils.o iotils.f90

主程式  test.f90

2:     implict none
3:

call checkdir("d:\a\b")

4:

end program test

編譯 gfortran –c –o test.o test.f90

鏈結 gfortran –o test.exe test.o checkdir.o

大功告成

關鍵問題:

fortran編譯器在編譯的時候會自動在函式名後面加乙個_,解決方法有兩個:

1.給fortran 編譯命令後面加乙個編譯引數,使之不自動產生下劃線。

2.在c函式宣告中後面加乙個下劃線,如checkdir_c_,而在fortran呼叫的時候採用 checkdir_c的形式來呼叫。

chrome中直接使用import

現在我們在開發專案時都是基於構建工具 像webpack 上進行開發,所以在使用import時得心應手。但今天在chrome中直接使用import時,發現不知道如何使用?chrome中直接使用import 三個條件 瀏覽器版本需要支援,瀏覽器的支援情況 使用 注意 引入路徑不能省略檔案字尾 這個與在構...

WebFocus 中直接使用SQL 語句

engine sqlmss set default connection connection sql sqlmss prepare sqlout for select from nolock where flag y endtable file sqlout print on table hold...

在Yii中直接使用sql

在yii中直接使用sql,是建立在php擴充套件pdo的基礎之上。使用前,確保pdo已安裝 一 建立連線 1,查詢 query 方式一 最簡潔 sql select a.id,b.name,parts type,parts model,partmanufacturer,number,confirm ...