close

 於matlab寫function.m,產生dll檔

之前已經選擇編輯器,這次一樣也在VC2010上使用,因此不需要再重新選一次

在命令視窗貼上:mcc -W cpplib:xxxxxx -T link:lib xxx.m

前者填入所產生dll的檔名,通常libxxx (xxx為.m名稱)。後者填入matlab function 檔名。

就會產生許多檔案,只要複製 xxx.dll xxx.h xxx.lib這三個檔案到VC2010專案檔目錄底下

 環境設置

如下圖配置

專案右鍵點選屬性

進入組態屬性/C/C++/一般/其他include目錄,"matlab路徑"\extern\include\win32 以及 "matlab路徑"\extern\include

VC_call_matlab_function1  

連接器\一般\其他程式庫目錄 "matlab路徑"\extern\lib\win32\microsoft

 

VC_call_matlab_function2

連接器\輸入\其他相依性 

xxx.lib (所產生的xxx.lib檔案)
mclmcrrt.lib
mclmcr.lib
libmx.lib
libmex.lib

 

VC_call_matlab_function3

 

 程式

xxx.m

function c=xxx(a,b)

c = a + b;

end

 

xxxx.cpp(VC2010)

#include "xxx.h" //(所產生的xxx.h檔案)

void main(){

mwArray a(m, n,  mxDOUBLE_CLASS); // double a[m][n];

mwArray b(m, n,  mxDOUBLE_CLASS);

mwArray c(m, n,  mxDOUBLE_CLASS);

double inputA[m][n] ,inputB[m][n] , outputC[m][n];

a.SetData(inputA, mxn); b.SetData(inputB, mxn);

xxx(1,x,a,b);

c.GetData(outputC, mxn);

}

結束。

 

 

 

 

 

 

 

arrow
arrow
    全站熱搜

    glitterHsin 發表在 痞客邦 留言(0) 人氣()