當前位置:編程學習大全網 - 源碼下載 - matlab如何調用dll文件

matlab如何調用dll文件

在Matlab的Help中搜索"Calling Functions in Shared Libraries"即可看到關於此內容的幫助文檔。

下面以壹個簡單的小例子演示Matlab調用DLL的過程:

1、編譯器準備

在Matlab的命令窗口輸入:mex -setup

選擇妳的編譯器,我的是:

[2] Microsoft Visual C++ 2008 SP1 in c:\Program Files\Microsoft Visual Studio 9.0

2、編寫妳自己的DLL

在Visual Studio 2008中新建壹個Win32的Dll工程,不妨設名字為MatlabDllTest

編輯MatlabDllTest.cpp:

#include "MatlabDllTest.h"

double add(double x, double y)

{

return (x+y);

}

編輯MatlabDllTest.h:

#ifndef MATLABDLLTEST_H

#define MATLABDLLTEST_H

#ifdef __cplusplus

extern "C"

{

#endif

__declspec(dllexport) double add(double x, double y);

#ifdef __cplusplus

}

#endif

#endif

3、加載DLL:把編譯連接之後產生的MatlabDllTest.dll和MatlabDllTest.h文件拷貝到Matlab的當前工作目錄下,輸入

loadlibrary('MatlabDllTest','MatlabDllTest.h');

(壹定要有這步,如果dll不成功,會顯示錯誤原因)

4、查看DLL中導出的函數

libfunctions MatlabDllTest -full

-full選項會列出導出函數的詳細輸入和輸出參數,這是輸出信息如下:

Functions in library MatlabDllTest:

double add(double, double)

5、調用函數

calllib('MatlabDllTest', 'add', 1.3, 4.6)

此時就會輸出正確的結果

ans =

5.9000

總結:這個例子比較簡單,只是為了演示整個過程,如果真的用到了Matlab來調用外部DLL的這種方式的話,就要註意DLL工程要符合Matlab的要求,詳細信息請自己查看Matlab的幫助文件。

  • 上一篇:哪裏可以買到神武4的劇本?
  • 下一篇:跪求使命召喚6幽靈所有臺詞
  • copyright 2024編程學習大全網