この単純な Fortran コードと、メイン プログラムで引数を明示的に指定する関数があります。コードは以下のとおりです。
implicit none
real*8 rrr,x
external tttt
x = rrr(10)
end
function rrr(seed)
integer seed, k
real*8 rrr
k = 7
seed = 16807 * ( seed - k * 127773 ) - (k * 2836)
print*,seed
rrr = seed / 2.
end
コンパイルはできますが、実行すると次のエラーが発生します。
Program received signal SIGBUS: Access to an undefined portion of a memory object.
Backtrace for this error:
#0 0x10f43bfe6
#1 0x10f43b7ac
#2 0x7fff89740529
#3 0x10f433d78
#4 0x10f433e2c
#5 0x10f433e6e
Bus error: 10
エラーの原因と思われるアイデアはありますか? コードのコンパイルには gfortran を使用します。