读取地址错误
本帖最后由 jason_bourne 于 2024-5-15 23:12 编辑在debug中出现读取地址错,报错信息为:
Exception thrown at 0x00007FF6A3F2543B in Console1.exe: 0xC0000005: Access violation reading location 0x00007FF6A4586000
代码如下:
program Console1
USE iso_Fortran_env, ONLY: wp => real64
implicit none
external dgesv, dgetrf
integer, parameter :: nn=2, lda=2, nrhs=1, ldb=2
REAL(wp), dimension(lda,nn) :: A
REAL(wp), dimension(ldb,nrhs) :: B
integer :: info, i, j
integer, dimension(nn) :: ipiv
A(1,1)=1
A(1,2)=2
A(2,1)=3
A(2,2)=4
B(1,1)=5
B(2,1)=6
ipiv = 0
info = 0
write(*,*), 'Hello World'
print *, 'ipiv =', ipiv
print *, 'INFO =', info
print *, ((A(i,j),i=1,lda),j=1,nn)
print *, ((B(i,j),i=1,ldb),j=1,nrhs)
call dgesv(nn,nrhs,A,lda,ipiv,B,ldb,info)
print *, "END OF PROGRAM..."
end program Console1
问题应该是在使用dgesv函数时出现,删掉call dgesv这行后能正常运行,但不知道是哪里的问题。
希望大佬能不吝赐教,非常感谢!
可能是链接MKL出了问题。完全复制粘贴的代码,我这里是能跑的,并且得到正确结果。 kyra 发表于 2024-5-16 10:38
可能是链接MKL出了问题。完全复制粘贴的代码,我这里是能跑的,并且得到正确结果。 ...
好的,我看一下。非常感谢! jason_bourne 发表于 2024-5-16 11:27
好的,我看一下。非常感谢!
确实是链接MKL的问题,已解决。谢谢!
页:
[1]