Clicky
Showing changes from revision #7 to #8:
(追記) Added (追記ここまで) | (削除) Removed (削除ここまで) | (削除) Chan (削除ここまで)(追記) ged (追記ここまで)
GFortran, G95, Open Watcom, and Silverfrost are free Fortran compilers, while Absoft, IBM, Intel, Lahey, NAG, Pathscale, PGI, and Sun produce commercial Fortran compilers. Polyhedron Software provides compiler comparisons at http://www.polyhedron.com/compare0html. See Compilers for more information.
(追記ここまで)(追記) (追記ここまで)To build a static library libfoo.a
containing all modules and procedures in the .f90
files in the current directory on Linux:
% gfortran -c *.f90
% ar cr libfoo.a *.o
The first command builds the object files and the second archives the object files into a static archive.
To build a shared library libfoo.so
:
% gfortran -shared *.f90 -o libfoo.so -fPIC
In both cases, other compiler flags such as -O2
can be used.
u == 1.4D0
work?See Floating point arithmetic.
A common Fortran 95 idiom for reading lines until the end of file is
integer :: stat
character(len=100) :: buf
open(15, file='foo.txt')
do
read(fh, iostat=stat) buf
if (stat /= 0) exit
! process buf
end do
close(15)
This example catches all conditions, not just the end of file. To specifically catch the EOF in Fortran 2003 one can use the iso_fortran_env module and replace the if
condition above with
if (stat == iostat_end) exit
See also: EOF idiom? on comp.lang.fortran.
There isn’t a portable way to do this either in Fortran or C, in short, because the terminal controls when the input is sent to your program and by default it is buffered. You must request that the terminal send each key and the method for doing so is platform-dependent.
Clive Page’s Fortran Resources has a section on "Reading single keystrokes from Fortran" which provides a couple of short C functions (sys_keyin.c) which can be called from Fortran to achive the desired behavior on most Unix systems.
See also: Get Key Function? on comp.lang.fortran.
See Real precision.