トップ 一覧 検索 ヘルプ ログイン

Fortran9095Programmingの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!Fortran90/95プログラミングの追加情報

冨田博之,齋藤泰洋著,'''Fortran90/95プログラミング''', 培風館
*[冨田博之先生のホームページ(Fortran90/95プログラミング)|http://www7b.biglobe.ne.jp/~fortran/education/fort9095.html]
巻頭言(p. iv)に記載しているとおり,本教科書の最新情報を上記サイトで公開していますが,書籍に入りきれなかった情報を下記にて紹介しています.

!!混在コンパイル(2016/01/16新規作成)
!!混在コンパイル
!FortranプログラムがC++プログラムを呼び出す.(2016/01/16新規作成)
*Fortran言語で記述されたプログラムと他の言語(例えばC++)で記述されたプログラムを混在させてコンパイルして実行する.

*main.f90
 PROGRAM main
   CALL prog_c()
 END PROGRAM main
*c_prog.cpp
 #include <stdio.h>
 #include <math.h>
 int sub_c(){
   float pi = 3.141593;
   float s, r = 2.0;
   s = pi * pow( r, 2.0 );
   printf("Area = %.2f\n", s);
 }
 extern "C" void prog_c_(){
   sub_c();
 }
*実行
 (一度g++でコンパイルして,オブジェクトファイルを生成する.)
 % g++ c_prog.cpp -c
 (数学関数を呼び出すためのライブラリを呼び出し,gfortranでコンパイルする.)
 % gfortran main.f90 c_prog.o -lm
 % ./a.out
*実行結果
 Area = 12.57

!C++プログラムがFortranプログラムを呼び出す.(2016/03/15新規作成)
*実行
 (コンパイルして,オブジェクトファイルを生成し,fortranを呼び出す.)
 % g++ c_prog.cpp -c
 % gfortran f_prog.cpp -c
 % g++ f_prog.o f_prog.o -lgfortran
!!外部ソフトウェア操作(2016/01/16新規作成)

*main.f90
**システムで呼び出すソフトウェアを記載する.絶対パスで記述する.
**この場合,gnuplotを立ち上げ,g.pltを読み込んで実行させる.
 PROGRAM main
   CALL SYSTEM('/bin/gnuplot g.plt')
 END PROGRAM main
*g.plt
**y=xのグラフをepsファイルに書き出す.
 set terminal postscript eps enhance color "Times-Roman" 24
 set output "x.eps"
 p x
 set output
*実行
 % gfortran main.f90
 % ./a.out
*実行して生成された結果
**y=xのグラフが生成される.gvなどで確認できる. 
{{ref_image rsl_gnuplot.png}}