| 查看: 1492 | 回复: 6 | ||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | ||
[求助]
使用MKL现成的函数,可是却出现了ACCESS VIOLATION
|
||
|
我打算求解大型稀疏矩阵问题,所以选用MKL里的LAPACK 随便写了一段测试一下,就出现forrtl: severe (157): Program Exception - access violation 错误就出现在MKL给的程序里,但是因为封装着,所以看不到。 以下是我的代码,SPOSV是我调用的LAPACK函数: program main REAL A1(5,5),B1(5,3) INTERFACE SUBROUTINE SPOSV(A,B) REAL A(:, ![]() REAL B(:, ![]() END SUBROUTINE SPOSV END INTERFACE DATA A1/38,3,4,6,5,3,48,6,7,7,4,6,52,1,6,6,7,1,56,10,5,7,6,10,74/ DATA B1/56,71,69,80,102,112,142,138,160,204,168,213,207,240,306/ CALL SPOSV(A1,B1) DO I=1,5 WRITE(*,*)(B1(I,J),J=1,3) END DO end program main ************************************************************************* MKL给的子程序里,用的是假定形状数组,这个需要在主程序里加上显示借口。我之前没有做。 但是现在加上了,却还是不行,问题依旧。具体问题出现在“++pfbegin; ”这一行: #ifdef CRTDLL void __cdecl _initterm ( #else /* CRTDLL */ static void __cdecl _initterm ( #endif /* CRTDLL */ _PVFV * pfbegin, _PVFV * pfend ) { /* * walk the table of function pointers from the bottom up, until * the end is encountered. Do not skip the first entry. The initial * value of pfbegin points to the first valid entry. Do not try to * execute what pfend points to. Only entries before pfend are valid. */ while ( pfbegin < pfend ) { /* * if current table entry is non-NULL, call thru it. */ if ( *pfbegin != NULL ) (**pfbegin)(); ++pfbegin; !!!!问题出现在这里 } } 这一段据说是在对全局变量进行初始化。但是并不懂得具体对应什么问题。 ****************************************************************** |
» 猜你喜欢
售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急
已经有4人回复
售SCI文章,我:8O.5.5.1O.54,科目全,可十急
已经有5人回复
售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急
已经有5人回复
售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急
已经有6人回复
售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急
已经有4人回复
售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急
已经有4人回复
小木虫上这么多卖论文的,真有人买论文么?感觉没必要啊
已经有12人回复
售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急
已经有4人回复
各位道友,我要去昆明玩几天,回来见。
已经有8人回复
售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急
已经有4人回复
6楼2016-09-12 18:11:51
2楼2015-12-05 10:53:09
3楼2015-12-05 16:06:57
4楼2015-12-13 21:39:47











回复此楼