Eu tenho um arquivo m do qual eu uso para criar dll usando o deploytool Matlab. o código simplesmente lê como:
function hello
disp("Hello")
end
existem seis funções na dll compilada exportada como:
uint8 helloInitialize
[uint8, voidPtr, voidPtr] helloInitializeWithHandlers(voidPtr, voidPtr)
helloPrintStackTrace
helloTerminate
uint8 mlfHello
[uint8, MATLAB arrayPtr, MATLAB arrayPtr] mlxHello(int32, MATLAB arrayPtr, int32, MATLAB arrayPtr)
Agora eu quero executar esta dll da minha janela de comando matlab usando calllib
E use a hello
função. Supondo que eu use a função correta mlfHello
, calllib("hello","mlfHello")
não me dá nada. Por favor me avise sobre qual função chamar e como fazer isso?
Respostas:
0 para resposta № 1Eu não sou 100% ainda é o caso, mas certamente costumava ser que você não poderia carregar DLLs que foram criados em Matlab de volta para o Matlab.
Eu suspeito que ainda é o caso - então você não pode fazer o que você está tentando fazer.
[editar] Eu não tenho um link porque eles não gostam deanuncie o fato. A razão pela qual o AFAIK é evitar que os usuários compilem o recurso de caixa de ferramentas em DLL e ofereçam a outros usuários para usar no Matlab sem uma licença de caixa de ferramentas.