1
我有一個m文件,我用它來使用Matlab deploytool創建dll。代碼簡單地讀作:從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)
現在我想用calllib
從我的MATLAB命令窗口中運行這個DLL和使用 的hello
功能。假設我使用正確的功能mlfHello
,calllib('hello','mlfHello')
沒有給我提供任何信息。請告訴我要調用哪個函數以及如何執行?
我很困惑。這是爲什麼?對文檔的任何引用? – user3723486 2015-04-04 14:43:16
我剛剛通過'libisloaded'檢查了庫,它給了我它被加載了嗎? – user3723486 2015-04-04 14:50:52
這不會讓我感到驚訝,因爲DLL必須加載到Matlab來檢查。正如我說的,我不知道它是否在最新版本的情況下,但它確實是這種情況下,我試過/詢問Mathworks(〜2012b) – matlabgui 2015-04-04 14:53:24