Fortran Coder

标题: 读取地址错误 [打印本页]

作者: jason_bourne    时间: 2024-5-15 23:13
标题: 读取地址错误
本帖最后由 jason_bourne 于 2024-5-15 23:12 编辑

在debug中出现读取地址错,报错信息为:

Exception thrown at 0x00007FF6A3F2543B in Console1.exe: 0xC0000005: Access violation reading location 0x00007FF6A4586000

代码如下

[Fortran] 纯文本查看 复制代码
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这行后能正常运行,但不知道是哪里的问题。

希望大佬能不吝赐教,非常感谢!







作者: kyra    时间: 2024-5-16 10:38
可能是链接MKL出了问题。完全复制粘贴的代码,我这里是能跑的,并且得到正确结果。
作者: jason_bourne    时间: 2024-5-16 11:27
kyra 发表于 2024-5-16 10:38
可能是链接MKL出了问题。完全复制粘贴的代码,我这里是能跑的,并且得到正确结果。 ...

好的,我看一下。非常感谢!
作者: jason_bourne    时间: 2024-5-22 18:29
jason_bourne 发表于 2024-5-16 11:27
好的,我看一下。非常感谢!

确实是链接MKL的问题,已解决。谢谢!




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2