EDA365电子论坛网
标题:
Matlab调用fortran dll遇到问题?
[打印本页]
作者:
uerriup
时间:
2020-9-11 16:06
标题:
Matlab调用fortran dll遇到问题?
在网上看了很多调用例子,全部都实现成功了,但是这些例子的fortran程序全都是用来计算实数的,我的fortran程序用来计算复数,程序如下
) A0 }7 t. a, g/ |2 ~5 B
subroutine test(c,a,b)
6 G3 m) z' s$ n+ L* U+ u ~5 [
complex::a,b,c
/ h: A- l, b/ m; ~# r1 v# O; a
c=a+b
" `# d$ O, m, M. v: U+ z+ _$ c
end subroutine
6 N: U3 h! S3 S% I
- w6 q# n; A3 B) \, d/ p! ?
生成bcd.dll文件
5 `( i6 h- t0 y7 h
头文件 abc.h 程序是 void test(double*,double*,double*);
5 j' N5 @2 R% X. u" c
matlab的.m程序如下a=3;b=1024;c=0;
' q% [2 f V5 S
loadlibrary('bcd.dll','abc.h');
. ~% q6 D) F8 O, }# S Z' M
w=calllib('bcd','test',c,a,b);
) D v' {9 s! b0 m+ S5 _! P
unloadlibrary bcd
" o$ d; r# E8 c
运行以后,matlab直接崩溃,闪退或是提示libpointer不支持复数数据
/ f* j9 E( Q; [
我要实现的是一非常复杂的fortran程序,包含10多个子程序,整个程序都在计算复数,之前试了混编mex,没有成功,最近才知道dll这种方法,但是最后实现起来不是崩溃就提示libpointer不支持复数数据,大家帮帮忙吧,看看哪里出了问题
6 ~1 c( J/ I& J8 h s) ^$ G
作者:
NingW
时间:
2020-9-11 16:32
这是……
作者:
younicp
时间:
2020-9-11 16:42
路过
作者:
uerriup
时间:
2020-9-11 16:42
来个大神支援一下吧
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2