1

我有一个 m 文件,我使用 Matlab 部署工具从中创建 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)

现在我想从我的 matlab 命令窗口运行这个 dllcalllib并使用该hello函数。假设我使用了正确的功能mlfHellocalllib('hello','mlfHello')什么也没给我。请告诉我要调用什么函数以及如何调用?

4

1 回答 1

0

我不是 100% 它仍然是这种情况,但它肯定曾经是你无法将在 Matlab 中创建的 DLL 加载回 Matlab。

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

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

于 2015-04-04T14:23:09.877 回答