2012-10-11 68 views
2

所以我有一個m文件,我使用Matlab編譯器在C dll窗體中編譯。注意編譯後的dll文件最初是一個名爲'matFunction.m'的matlab文件。現在我想要從我的matlab代碼運行這個DLL。 _I正在做以下在matlab中運行一個在dll中編譯的m文件

loadlibrary compiledDLL.dll compiledDLL.h 
calllib('compiledDLL','matfunction') 

,但我得到的是

Error using calllib 
Method not found 

我也用

loadlibrary compiledDLL.dll compiledDLL.h 
calllib('compiledDLL','matfunction.m') 

的錯誤,但我得到了同樣的錯誤。有人能告訴我我做錯了什麼,以及如何在我的matlab代碼中運行這個DLL。

+1

調用LoadLibrary是一個函數,不是嗎?即'loadlibrary(dll,hfile)'?我可能是錯的 –

+0

http://www.mathworks.com/help/matlab/ref/loadlibrary.html –

回答

0

loadlibrary是一個函數。正確的語法是

loadlibrary(dll,hfile) 

爲每documentation.

的文件也明確規定調用的函數,如果庫是在內存中已經加載。您可以使用

tf = libisloaded(libname) 

來測試庫是否已經加載到內存中。

此外,使用calllib時,請確保您在適當的參數傳遞你的功能,以及:

[x1,...,xN] = calllib(libname,funcname,arg1,...,argN) 
相關問題