XcodeでFortranのコンパイル
- 下記詳細解説を参考に
- インストールしてみた。
- gfortranのインストールはしてなかったので、上記解説記事または下記説明記事から適宜ダウンロードしてインストール。
- このアドレスから、XcodeでFortranを使用するためのプラグインをダウンロード。
- Xcode 2.4とXcode 3.0で、プラグインのバージョンが違うので注意。
- 2.4の方はインストーラーがついているので、クリック&クリックでインストール完了できる模様。
- 最新版3.0の方は手動でコピーする必要がある。
- さて、準備が整ったら、早速XcodでFortranでプログラム。
つまり、main.cでは
test_();
fortran.fでは
subroutine test ここにプログラムの本体 end
とすればよい。
に載っている。
参考プログラム:
- main.c
int main (int argc, const char * argv[]) { int i,j; double a[3][3],b,c[3][3]; printf("-------------------\n"); printf("Hello, World! from C \n"); printf("set the variable b and matrix a[3][3]\n"); b=999.0; printf("real numnber b=%f\n",b); for(i=0;i<=2;i++){ for(j=0;j<=2;j++){ a[i][j]=i*j+j*j+j; printf("%f\t",a[i][j]); } printf("\n"); } printf("-------------------\n"); test_(); test2_(a,&b); printf("-------------------\n"); printf("Convert from a[i][j] to c[j][i] \n",b); for(i=0;i<=2;i++){ for(j=0;j<=2;j++){ c[i][j]=a[j][i]; printf("%f\t",c[i][j]); } printf("\n"); } printf("-------------------\n"); test_(); test2_(c,&b); printf("-------------------\n"); return 0; }
- fortran.f
subroutine test write(*,*)'Hello from Fortran' return end ! subroutine test2(a,b) DOUBLE PRECISION b,a(3,3) ! INTEGER i,j write(*,*) 'b =',b ! write(*,*)'matrix' do 10 i=1,3 write(*,*) (a(i,j),j=1,3) 10 continue ! return end