Fortran Coder

查看: 1183|回复: 3
打印 上一主题 下一主题

[数学库] 读取地址错误

[复制链接]

3

帖子

1

主题

0

精华

新人

F 币
15 元
贡献
4 点
跳转到指定楼层
楼主
发表于 2024-5-15 23:13:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 jason_bourne 于 2024-5-15 23:12 编辑

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

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

代码如下

[Fortran] 纯文本查看 复制代码
01program Console1
02       
03      USE iso_Fortran_env, ONLY: wp => real64
04      implicit none
05       
06      external dgesv, dgetrf
07      integer, parameter :: nn=2, lda=2, nrhs=1, ldb=2
08      REAL(wp), dimension(lda,nn) :: A
09      REAL(wp), dimension(ldb,nrhs) :: B
10      integer :: info, i, j
11      integer, dimension(nn) :: ipiv
12 
13      A(1,1)=1
14      A(1,2)=2
15      A(2,1)=3
16      A(2,2)=4
17      B(1,1)=5
18      B(2,1)=6
19      ipiv = 0
20      info = 0
21       
22      write(*,*), 'Hello World'
23      print *, 'ipiv =', ipiv
24      print *, 'INFO =', info
25      print *, ((A(i,j),i=1,lda),j=1,nn)
26      print *, ((B(i,j),i=1,ldb),j=1,nrhs)
27 
28      call dgesv(nn,nrhs,A,lda,ipiv,B,ldb,info)
29       
30      print *, "END OF PROGRAM..."
31 end program Console1


问题应该是在使用dgesv函数时出现,删掉call dgesv这行后能正常运行,但不知道是哪里的问题。

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






分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

268

帖子

0

主题

0

精华

版主

World Analyser

F 币
749 元
贡献
526 点

新人勋章美女勋章元老勋章热心勋章规矩勋章管理勋章

QQ
沙发
发表于 2024-5-16 10:38:58 | 只看该作者
可能是链接MKL出了问题。完全复制粘贴的代码,我这里是能跑的,并且得到正确结果。

3

帖子

1

主题

0

精华

新人

F 币
15 元
贡献
4 点
板凳
 楼主| 发表于 2024-5-16 11:27:21 | 只看该作者
kyra 发表于 2024-5-16 10:38
可能是链接MKL出了问题。完全复制粘贴的代码,我这里是能跑的,并且得到正确结果。 ...

好的,我看一下。非常感谢!

3

帖子

1

主题

0

精华

新人

F 币
15 元
贡献
4 点
地板
 楼主| 发表于 2024-5-22 18:29:05 | 只看该作者
jason_bourne 发表于 2024-5-16 11:27
好的,我看一下。非常感谢!

确实是链接MKL的问题,已解决。谢谢!
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2025-5-3 16:01

Powered by Discuz! X3.4

© 2013-2025 Comsenz Inc.

快速回复 返回顶部 返回列表