我有一个m文件,我用它来使用Matlab deploytool创建dll。代码只读为:
function hello
disp('Hello')
end
编译的dll中有六个函数导出为:
uint8 helloInitialize
[uint8, voidPtr, voidPtr] helloInitializeWithHandlers(voidPtr, voidPtr)
helloPrintStackTrace
helloTerminate
uint8 mlfHello
[uint8, MATLAB arrayPtr, MATLAB arrayPtr] mlxHello(int32, MATLAB arrayPtr, int32, MATLAB arrayPtr)
现在我想使用calllib
从我的matlab命令窗口运行这个dll并使用
hello
函数。假设我使用了正确的函数mlfHello
,calllib('hello','mlfHello')
什么都没有给我。请告诉我要拨打什么功能以及如何操作?
答案 0 :(得分:0)
我不是100%仍然如此,但它肯定是你无法将在Matlab中创建的DLL加载回Matlab。
我怀疑它仍然如此 - 所以你不能做你想做的事。
[edit] 我没有链接,因为他们不喜欢宣传这个事实。 AFAIK的原因是避免用户将工具箱功能编译到DLL中,并允许其他人在没有工具箱许可证的情况下在Matlab中使用。