我有这个简单的 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 编译我的代码。