プログラミング用エディタSciTEのインストールとFortranへの使用方法
Windows用のSciTEを次のURLからダウンロードする.
http://www.scintilla.org/SciTE.html
full download (820K) とsingle file executable called Sc1 (510K)があるが,full download (820K) の方をダウンロードした方がよい(ということがあとで分かる.)
ダウンロードしたファイルを解凍すると,wsciteという名前のフォルダができる.その中にあるSciTE.exeという名前のファイルをダブルクリックするとエディタが起動する.
このエディタはどこにおいてもよいが,wsciteフォルダをデスクトップに置いて,SciTE.exeのショートカットをさらにデスクトップに置いておくとよい.
SciTEのプロパティファイルの設定
SciTEのフォントやフォントサイズなど様々な環境設定は,SciTEGlobal.propertiesというファイルで設定されている.このファイルは,SciTEのOptionsメニューから選択して内容を表示,編集することができる.また,Fortranのファイルを編集するときの設定ファイルは,fortran.propertiesという名前のファイルに記述されており,Optionsメニューから開くことができる.
Fortranプログラムを編集するときはLanguageメニューからFortranを選択するが,このときの設定はすべてfortran.propertiesに記述されており,この内容を変更すればコマンドの表示色を変更したりすることができるが,この設定ファイルはそのままにして,利用者固有の環境設定はSciTEUser.propertiesファイルに記述する方がよい.SciTEUser.propertiesの内容は,他の環境設定ファイルの内容に優先される.
SciTEUser.propertiesファイルの設定
まず,SciTEで日本語の表示を行うためには,次の2行を追加する.
code.page=932
character.set=128
フォントやフォントサイズは,SciTEGlobal.propertiesを参考にして,たとえば次のようにする.
font.base=font:MS ゴシック,size:11
font.small=font:MS ゴシック,size:10
font.comment=font:Comic Sans MS,size:11
font.code.comment.box=$(font.comment)
font.code.comment.line=$(font.comment)
font.code.comment.doc=$(font.comment)
font.code.comment.nested=$(font.comment)
font.text=font:Times New Roman,size:11
font.text.comment=font:MS ゴシック,size:11
font.embedded.base=font:MS ゴシック,size:11
font.embedded.comment=font:Comic Sans MS,size:11
font.monospace=font:MS ゴシック,size:11
font.vbs=font:MS ゴシック,size:11
また,次の設定もウィンドウの下部に改行コード棟が表示されて便利.
statusbar.visible=1
フォートランコンパイラの設定は次のように記述する.
fc77=g95
fc90=g95
#fc77=gfortran
#fc90=gfortran
command.compile.*.f=$(fc77) -I.\ -L.\ $(1) $(2) -c $(FileNameExt) $(3) $(4) -info
command.compile.*.for=$(fc77) -I.\ -L.\ $(1) $(2) -c $(FileNameExt) $(3) $(4) -info
command.compile.*.f90=$(fc90) -I.\ -L.\ $(1) $(2) -o $(FileName).exe $(FileNameExt) $(3) $(4) -info
command.compile.*.f95=$(fc90) -I.\ -L.\ $(1) $(2) -o $(FileName).exe $(FileNameExt) $(3) $(4) -info
command.go.*.f=$(FileName).exe
command.go.*.for=$(FileName).exe
command.go.*.f90=$(FileName).exe
command.go.*.f95=$(FileName).exe
command.build.*.f=make all
command.build.*.for=make all
command.build.*.f90=make all
command.build.*.f95=make all
#で始まる行はコメント行であり,g95の代わりにgfortranを使うときは,最初の2行をコメントアウトして,3行目・4行目の#を削除する.
このようにすると,ToolsメニューからCompileを選択すると,編集中のFortranのソースファイルがコンパイルされる.
たとえば,次のプログラムをex.f90として保存する.
program main implicit none integer :: i i = 999 write(*,*) i end program main |
Toolsメニューから,Compileを選択するとex.f90がコンパイルされる.さらに,ToolsメニューからGoを選択すると,ex.f90の実行ファイルex.exeが実行される.これらの過程は,次のようにウィンドウの右側のコンソールに表示される.
また,複数のファイルからなるプロジェクトをmakeコマンドでビルドするときは,ToolsメニューからBuildを選択する.この場合は,ソースファイルと同じ場所に次のようなmakefileを作成しておく.
############################################# # Makefile template for building Fortran90 applications. # (C) 2008 Toshiro Matsumoto, Nagoya University # All rights reserved. ############################################# FFLAGS = \ -O2 \ -Werror LDFLAGS = \ -fbounds-check \ INCS = \ # -I/usr/local/include # LIBS = \ -L/usr/local/lib/gcc-lib \ FC = g95 LD = g95 TARGET = test RM = rm -rf SRCS = face.f90 \ test.f90 OBJS = face.o\ test.o $(OBJS) : $(SRCS) $(FC) -c $(FFLAGS) $? all: $(TARGET) $(TARGET): $(OBJS) @echo 'Building target: $@' @echo 'Invoking: gfortran linker' $(LD) -o $(TARGET) $(OBJS) $(FFLAGS) $(LDFLAGS) $(INCS) $(LIBS) @echo ' ' @echo 'Finishing building target: $@' help: @echo ' ' @echo 'Usage:' @echo 'To build the target:' @echo 'make' @echo 'To clean all objects, modules, and the target:' @echo 'make clean' @echo ' ' clean: $(RM) $(OBJS) *.mod targetclean: $(RM) $(TARGET).exe |
この場合のソースコードは,次のtest.f90とface.f90である.
test.f90
program main use face implicit none integer :: i, j i = 999 j = f(i) write(*,*) j end program main |
face.f90
module face implicit none real :: a(10) contains function f(i) implicit none integer, intent(in) :: i real :: f f = float(i)+1 return end function f end module face |
次のウィンドウに実行の様子を示す.
makefileを使ったビルドはもちろんCygwinウィンドウからも次のように実行可能である.