找回密码
 注册
关于网站域名变更的通知
查看: 494|回复: 3
打印 上一主题 下一主题

MatlabR2014a 32位 调用dll 直接崩溃Matlab system error

[复制链接]
  • TA的每日心情

    2019-11-19 15:32
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2020-9-15 15:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    dll已加载成功并且能调用一部分函数,调用'ReadWavelength'直接挂 我该怎么办?: T# T4 h( z0 J! o; @& \$ o

    - @2 g/ S! X: m% V' y/ Xtry
    , ?4 U7 E- S6 Y; z: E6 s    9 N9 |* s' A' M9 G
        if~libisloaded('OpticalDevice')
    - P7 \4 s$ h5 X8 @        loadlibrary('OpticalDevice','OpticalDevice.h');
    # g/ Q7 ~5 Q4 C' Y7 \3 t    end;
    / M5 v: F6 {, T    m = libfunctions('OpticalDevice','-full');%显示库中函数
    : F3 W6 l7 d# i$ L/ Y& N/ p3 B%    libfunctionsview OpticalDevice;%显示库中函数" h) j7 V2 O0 [1 o
        sSerialNO ='123';
    ) L8 t8 ?1 W0 A    pCharSerialNO = libpointer('cstring',sSerialNO);5 L2 W: w& \! D, g
       
    6 n1 V; R% }# Q" O: q8 w    %p = libpointer('stringPtr');0 Y: k1 ^: e% K  Z6 u
        nNumPixels = 0;
    2 I0 ?4 t- ^4 M/ K6 ?    sSerialNum='';%序列号8 U  B) Z1 u% p) s( T, Z
        bSuccess=calllib('OpticalDevice','OpenDevice');%打开设备 是否安装了驱动? usb插拔一下?
    ; |9 ?# L6 t9 Z! J( D* @    if bSuccess==0& W1 J- J) Q3 Z0 \
            msgbox('打开设备失败','警告');
    0 j9 q8 B5 @' z  B/ j    else
    ' `' Y8 [! P, D. ^! ~. D2 y        nNumPixels = calllib('OpticalDevice','GetNumPixels');%调用成功0 ^% _# w  b0 `. _1 O0 u
           % calllib('OpticalDevice','GetSerialNO',pCharSerialNO); %调了就崩溃
    6 ]/ P3 k3 o9 x: W: ]
    : p4 e$ Q- K+ Z: L# g+ U%%调用'ReadWavelength'直接挂+ l' w9 U6 g0 z$ r" L
           wavelength = 0.1:1:10000;
    * e  f* `9 t# u8 C# w       pWavelength = libpointer('singlePtr',wavelength);" d) ]8 o( s3 W8 n0 X5 M: \
           bSuccess = calllib('OpticalDevice','ReadWavelength',pWavelength);%运行到这里Matlab直接崩溃弹窗(Matlab system error)2 X" F5 n( m# I. {
           %'[bool, singlePtr] ReadWavelength(singlePtr)'
    & y' y4 g3 d+ f2 y6 T$ c* Z. M! Z
    7 Q9 ]4 ~4 \: W! J- B* B
    - N$ j) A, z* z% N4 `7 V/ l1 E* v       if bSuccess==1
    6 ]% H  J0 |( D/ m" j$ n+ [  h, v           disp('读取波长成功');
    & B. u* [2 w: ~2 [       else7 s8 W, a' o* H* U
               disp('读取波长失败');" M6 F8 f6 o0 [7 M8 \
           end
    , H. \4 i) |2 _0 w' ^# \* w    end
    3 J1 C1 X6 A& _( r2 u7 i/ j3 [    0 }/ u4 D, w" M0 `( G
        bSuccess=calllib('OpticalDevice','CloseDevice');
    3 O3 T& I" i& p, U3 {$ e    unloadlibrary('OpticalDevice');3 s! K" o4 {, U$ Q. c: T
    catch exception# Y( R5 \& h9 a/ m+ v+ M* v1 i: z
        bSuccess=calllib('OpticalDevice','CloseDevice');%关闭设备
    7 `+ y) P" J+ O9 ?+ C8 f+ O, I( ]    unloadlibrary('OpticalDevice');%释放库
    5 P. Z. S3 w6 ~+ l- {, M) F9 m   
    ) p1 t! W/ R& T) {% e0 P  _    disp(exception);: B( c, E) b4 G
    end" l4 S; V2 g0 `# d9 O

    * a0 [; C$ d3 c+ Z3 f; @2 O; m

    该用户从未签到

    2#
    发表于 2020-9-15 17:19 | 只看该作者
    这是资料还是问题啊

    该用户从未签到

    3#
    发表于 2020-9-15 17:34 | 只看该作者
    是不是软件和你的电脑不匹配啊

    点评

    不知道啊  详情 回复 发表于 2020-9-15 17:35
  • TA的每日心情

    2019-11-19 15:32
  • 签到天数: 1 天

    [LV.1]初来乍到

    4#
     楼主| 发表于 2020-9-15 17:35 | 只看该作者
    CCxiaom 发表于 2020-9-15 17:34$ @  s& p3 t& f( b7 j
    是不是软件和你的电脑不匹配啊
    ' b6 {" h( X& ?. g' B: A
    不知道啊
    ! S7 [6 P& d. r2 V
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-8-13 10:40 , Processed in 0.125000 second(s), 24 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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