C/C++ 调用matlab编译的dll,该matlab dll内部又调用了其他C/C++编译的dll的问题

matlab 调用C/C++编译的dll,以及C/C++ 调用matlab编译的dll 都没问题。但是现在需要C/C++ 调用的matlab dll 内部又调用了其他的C/C++的dll 的时候,却不行。matlab 调用C/C++编译的dll 是通过loadlibrary,calllib等函数调用的。敬请留言!QQ:358249868
我实现的matlab 的dll 接口函数内部很简单.下面是一个简单的加法函数,c++调用此函数是没问题的,因为如果函数内部是“c=a+b;” c++调用是可以得到值的,但是改成loadlibrary调用外部dll时,却不行。不过我在matlab 命令行中调用此myAdd是可以的。
function [ c ] = myAdd(a,b)
%c=a+b;
loadlibrary('SampleDll','SampleDll.h');
c=calllib('SampleDll','Add',a,b);
unloadlibrary('SampleDll');
end

不太清楚matlab编写的dll是什么样

不过你可以在调用的函数内部添加调试信息,看看是否已经正常地进入到调用的函数内部了。还是说加载dll就错了,或者没找到对应的接口,还是最后return之后因为栈的维护异常导致的。追问

matlab的接口函数实现了很简单的加法,其内部调用外部的dll加法函数.
function [ c ] = myAdd(a,b)
%c=a+b;
loadlibrary('SampleDll','SampleDll.h');
c=calllib('SampleDll','Add',a,b);
unloadlibrary('SampleDll');
end

温馨提示:答案为网友推荐,仅供参考
相似回答