最終更新時間:2016年03月15日 19時57分28秒
Fortran90/95プログラミングの追加情報
冨田博之,齋藤泰洋著,Fortran90/95プログラミング, 培風館
巻頭言(p. iv)に記載しているとおり,本教科書の最新情報を上記サイトで公開していますが,書籍に入りきれなかった情報を下記にて紹介しています.
混在コンパイル
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などで確認できる.
ファイル添付