从matlab调用dll函数

时间:2015-04-04 13:56:28

标签: matlab dll mcc

我有一个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函数。假设我使用了正确的函数mlfHellocalllib('hello','mlfHello')什么都没有给我。请告诉我要拨打什么功能以及如何操作?

1 个答案:

答案 0 :(得分:0)

我不是100%仍然如此,但它肯定是你无法将在Matlab中创建的DLL加载回Matlab。

我怀疑它仍然如此 - 所以你不能做你想做的事。

[edit] 我没有链接,因为他们不喜欢宣传这个事实。 AFAIK的原因是避免用户将工具箱功能编译到DLL中,并允许其他人在没有工具箱许可证的情况下在Matlab中使用。