FortranのC相互運用性メカニズム(Fortran 2003で導入され、gfortranとifortの新しいバージョンで実装されています)を使用してFortranからC関数を呼び出すコードを書いています。私は明確ではないよiso_c_bindingを使用したFortran-Cブリッジでの文字列の配列
int use_array(int n, char * array[]){
int i;
for(i=0; i<n; i++){
printf("Item %d = %s\n",i,array[i]);
}
return n;
}
:
This answerは私が必要なものはほとんどですが、私は非常に私はこのようになりますC関数のためのFortranで使用すべきかインタフェース宣言のまわりで私の頭を取得することはできません宣言は、Fortranエンドのインターフェイスのためにどうあるべきか:私はあまりにもNULL終端の問題に対処する必要がありますことを知っています
interface
function use_array(n, x) bind(C)
use iso_c_binding
integer (c_int) use_array
integer (c_int), value :: n
character(c_char) WHAT_SHOULD_GO_HERE? :: x
end function use_array
end interface
。
感謝を。彼らのようなユーザーは、毎日の礼儀で人々が質問を読めなくするのを阻止しようとしています。 – JoeZuntz