亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? matlab builder for.net .txt

?? VC++調用Matlab Builder for.NET 的COM組件
?? TXT
字號:
VC++調用Matlab Builder for.NET 的COM組件
作者:卞曉波
1.VC++與Matlab幾種常用的集成方法 
  Matlab與VC++混合編程的具體方式有多種,根據Matlab是否運行可大致分為兩類:Matlab在后臺運行和可以脫離Matlab環境運行。Matlab 5.0以后版本均自帶C/C++編譯器,可將其程序文件(M文件)轉換為C-MEX或C/C++程序。
第一種方式是Matlab引擎采用客戶機/服務器的計算方式,通過Windows的ActivcX通道和Matlab接口。在具體的應用中,VC的程序作為前端客戶機,通過調用Matlab引擎在后臺與Matlab服務器建立連接,實現動態通信。這種方法實現較為簡單,不要求連接整個Matlab,只需要嵌入必要的Matlab引擎庫,可大大地節省系統資源,但這種Matlab在后臺運行,運行效率低下。 
第二種方式是使用Mathtools公司推出的Matlab集成編譯開發平臺Mideva,它提供了對M文件的解釋執行和開發環境支持。經過簡單設置后Mideva可以將M源文件轉換為C/C++,然后添加到VC++工程中。 也可以先利用Mideva直接生成EXE文件(方法是啟動Mideva,在菜單"File->Compile to exe"中, 選出需要轉換的M文件),然后在VC++中通過shellexec()或winexec()等外部函數完成Shell調用。這種方法簡單方便,但運行時出現一個控制臺窗口,而且由于VC和Matlab之間不能交互,通用性差。 
第三種方式是通過Mablat編譯器將其m文件轉換成為C/C++代碼文件并生成必要的dll庫后再通過VC++編譯器生成可獨立執行的應用程序,這種方式可以直接調用其中的庫函數,生成并發布不必依賴Matlab的可執行文件。
  第四種方式是通過Matlab Add-in實現Matlab與VC的混合編程。在Matlab 6.0以后版本對其編譯器作了較大的改進,其支持更多的數據類型,更強的優化功能,更為重要的是其Matlab Add-in提供了一個Matlab和VC直接集成的途徑。它具有一些新的特征:快速集成M文件到C++工程中,創建獨立的 C/C++應用程序或C MEX DLL;通過M文件創建共享庫或MEX文件;內含Visual Matrix Viewer,調試過程中可以查看矩陣變量的值; 直接修改M源文件而不是修改生成的C/C++文件;方便快捷地打包應用程序等。但是,這種方式仍然會有部分的Matlab函數庫不能使其調用。
最后一種方法也是最新的用Matlab2007a下的Matlab Builder for .NET,這是最方便的也是本文下面將要使用的集成方式。
2.Matlab的COM Builder 使用方法
試驗環境:Windows XP SP2, VC6.0++ SP6, Matlab2007a, 
參考步驟:
2.1當然是先建立 matlab 的 m 文件。 
我們先將一個圖片放入F:\matlab2007code\bianxb文件夾下,命名為cat.jp再準備一個測試文件testpic.m,如圖2.1:

圖2.1
保存為testpic.m 
2.2
2.2.1下面來對 matlab 編譯環境進行設置。 打開matlab,在命令行狀態下鍵入:
mbuild –setup
然后出現如下提示: 

這里我們選擇’2’。然后,繼續在命令行狀態下輸入: y
然后出現如下提示:

2.2.2然后,在matlab的workspace下輸入deploytool,就可以啟動Deployment Tool。如圖圖2.2


圖2.2
點擊工具欄上的 菜單下的New Deployment Project新建一個MATLAB Builder for .NET中Generic COM Component,在Name中加入工程名:bian.prj,如圖2.3所示:

圖2.3
單擊OK,如圖圖2.4

圖2.4

2.2.3單擊Deployment Tool上的 圖標,選擇加入的文件testpic.m可得如下圖2.5:

圖2.5
單擊Add如圖2.6:

圖2.6

2.2.4單擊Deployment Tool上的 圖標,進行編譯設置。如下圖2.7:

圖2.7

備注:如果要使生成的可執行文件在沒有安裝matlab的計算機上使用,還必須在目標計算機上安裝MCR(matlab組件運行環境).可利zipfile=buildmcr(dirname)來創建一個包含MCR需要的所有文件的zip文件,在deploytool里也有相關選項.一般需要發布的文件有3個:(1)編譯得到的可執行文件或dll、lib。(2)CTF文件(組件技術文件)。(3)MCRInstaller.zip.
2.2.5單擊Deployment Tool上的 圖標
單擊Deployment Tool上的 圖標,進行編譯設置圖2.8

圖2.8
單擊OK。
單擊Deployment Tool上的 圖標,
2.3 編譯完后就會在matlab工作目錄下的bian目錄下生成兩個文件夾:一個是src,里面存放一些中間文件;另一個是distrib,里面就是動態鏈接庫形式的com組件文件等。在這里,編譯后distrib\文件夾下生成一個bian_1_0.dll,這就是做好的com組件。
此時,可以在bian\distrib文件夾里看,生成的bian.exe就是打包后的解壓程序,雙擊就會解壓出一些文件,再點擊解壓出來的install.bat就可以實現安裝。
3 VC調用com組件的方法
3.1新建一個vc工程
新建一個vc工程bianvc(MFC AppWizard(exe)),基于對話框的工程(其它為VC默認)。在編輯bianvc的對話框資源,添加ID_TEST(調用貓圖)和ID_EXIT(關閉貓圖)兩個按鈕,并通過ClassWizard 添加上述兩個按鈕的消息響應函數,如圖3.1所示。

圖3.1

3.2對 VC 的編譯器環境進行設置。 
在Tools|options|directory里面設置include和lib的路徑,分別添加一項,指向matlab安裝目錄中的\extern\include和 \extern\lib (見圖3.2和圖3.3)

圖3.2


圖3.3

3.3設置工程bianvc,Project|Setting|C++|Precompiled Headers,選擇Automatic use of precompiled headers,并將header設為stdafx.h,如圖3.4所示:


圖3.4
3.4在bianvcDlg中加入公共變量Ibianclass *sp。
3.5點擊VC下的tools->ole/com objectviewer打開oleviewer工具,在oleviewer工具的右邊選擇type libraries,找到bian 1.0 type library,選中并且右鍵,選擇view,點save按鈕,分別保存為bian_1_0.h和bian_1_0.c(也可以存為bian_1_0.idl接口文件),我們就可以根據這兩個文件實現對bian_1_0.dll調用。 
圖3.5

將bian_1_0.h和bian_1_0.c加入工程,并復制一個bian_1_0.dll到工程目錄下,由于bian_1_0.dll還要用到mwcomutil.dll,所以將\bianxb\bian\src下的mwcomutil.h和mwcomtypes.h也加入工程中。

3.5示意調用代碼如下:
******************************bianvcDlg.h****************************
#include "mwcomutil.h"
#import"D:\Program Files\MATLAB\R2007a\bin\win32\mwcomutil.dll" raw_interfaces_only
#include "bian_1_0.h"

************************bianvcDlg.cpp中部分代碼*********************
void CBianvcDlg::OnTest() 
{
if (FAILED(CoInitialize(NULL))) 
{
AfxMessageBox("unable to initialize COM");
}
Ibianclass *st=NULL;
HRESULT hr=CoCreateInstance(CLSID_bianclass,NULL,CLSCTX_ALL,IID_Ibianclass,(void**)&st);
if (SUCCEEDED(hr))
{ 
st->testpic ();
AfxMessageBox("succeed");
st->Release();
} 
else
{
AfxMessageBox("unsucceed");
}

}

void CBianvcDlg::OnExit() 
{

OnCancel();
CoUninitialize();

}
4.在目標機上的發布
4.1 在目標機上看是否安裝了Microsoft.NET Framework2.0,若沒有,則先安裝Microsoft.NET Framework2.0。
4.2 先找到工程 bianxb\bian\distrib下的bian_pkg.exe,在DOS窗口中輸入A,并且回車。按照提示操作即可。
4.3運行工程bianxb\bianvc\Release下的bianvc.exe.即可調用成功。

5 結束語
通過應用編程接口,可以把其他高級語言靈活多變的編程能力和matlab的強大計算能力結合起來。Matlab Builder for .NET工具可以方便地把matlab程序做成com組件,為系統開發人員提供了簡單、易用地應用程序接口。和其他接口方法相比,將matlab程序做成com組件,使其他語言工具和matlab的混合編程更加簡單。

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美亚洲综合色| 中文字幕一区二区在线观看| 国产丝袜在线精品| 一区二区三区精品在线观看| 久久疯狂做爰流白浆xx| 欧美在线一二三四区| 久久精品人人做人人爽97| 亚洲一区二区三区在线播放| 风间由美性色一区二区三区| 538在线一区二区精品国产| 亚洲人成网站在线| 欧洲色大大久久| 中文字幕成人av| 国产乱一区二区| 欧美www视频| 视频一区二区三区入口| 欧美日韩综合一区| 亚洲人成精品久久久久| 成人av电影在线播放| 久久久www成人免费毛片麻豆| 美国欧美日韩国产在线播放| 精品视频资源站| 一区二区三区在线观看欧美| 成人黄色免费短视频| 国产精品视频麻豆| 成人一区在线看| 中文字幕二三区不卡| 成人一区二区三区视频| 亚洲最新在线观看| 91色综合久久久久婷婷| 成人免费视频在线观看| 暴力调教一区二区三区| 99在线精品视频| 国产欧美日韩卡一| 国产成a人亚洲精品| 国产性天天综合网| 日韩av中文在线观看| 韩国女主播成人在线观看| 亚洲男人的天堂av| 久久久综合网站| 欧美精品99久久久**| 99免费精品视频| 国产在线视频不卡二| 亚洲激情第一区| 国产日产精品一区| 91精品国产91综合久久蜜臀| 99国产精品久久久久久久久久| 美女网站视频久久| 午夜精品福利视频网站 | 欧美色网站导航| 春色校园综合激情亚洲| 美女尤物国产一区| 午夜av一区二区| 亚洲亚洲人成综合网络| 中文字幕亚洲精品在线观看| 久久久蜜桃精品| 欧美变态口味重另类| 91麻豆精品国产91久久久资源速度| 91社区在线播放| 99精品桃花视频在线观看| 国产一区不卡视频| 精品一区二区三区久久| 日本欧美一区二区在线观看| 亚洲一区二区三区美女| 一区二区三区日韩欧美精品| 亚洲少妇30p| 亚洲色图在线视频| ●精品国产综合乱码久久久久 | 成人免费精品视频| 国产一区二区三区在线观看精品| 青青草一区二区三区| 日韩高清一区在线| 美女视频黄免费的久久| 美女视频黄久久| 激情五月激情综合网| 日本精品一级二级| 色八戒一区二区三区| 欧美中文字幕一区二区三区亚洲| 91行情网站电视在线观看高清版| 色婷婷亚洲婷婷| 欧美美女直播网站| 91精品国产福利| 2024国产精品| 国产欧美中文在线| 中文字幕一区二区三区四区| 综合久久一区二区三区| 综合自拍亚洲综合图不卡区| 亚洲视频在线观看一区| 亚洲另类色综合网站| 亚洲靠逼com| 日韩av不卡在线观看| 开心九九激情九九欧美日韩精美视频电影 | 欧美刺激脚交jootjob| 精品国产免费人成电影在线观看四季 | kk眼镜猥琐国模调教系列一区二区| 国产成人亚洲综合a∨猫咪| 成人性色生活片免费看爆迷你毛片| 国产成人精品aa毛片| 91丝袜美女网| 777午夜精品视频在线播放| 欧美成人精品1314www| 中文字幕欧美区| 亚洲一区二区美女| 久久av资源网| 不卡影院免费观看| 欧美日韩日日骚| 久久先锋资源网| 亚洲精品乱码久久久久久久久 | 亚洲成人久久影院| 国产综合久久久久久久久久久久| 成人少妇影院yyyy| 欧美人狂配大交3d怪物一区| 精品成人私密视频| 亚洲日本欧美天堂| 麻豆成人免费电影| 色综合色综合色综合色综合色综合| 欧美日韩aaa| 中文字幕av免费专区久久| 亚洲bt欧美bt精品777| 高清免费成人av| 91精品国产综合久久婷婷香蕉| 国产欧美日韩在线观看| 无码av免费一区二区三区试看 | 欧美日韩国产高清一区二区三区| 久久精品亚洲精品国产欧美| 亚洲黄色免费网站| 国产精品综合二区| 9191精品国产综合久久久久久| 久久久精品2019中文字幕之3| 不卡电影一区二区三区| 欧美精品高清视频| 亚洲六月丁香色婷婷综合久久| 国产在线视频不卡二| 在线观看91精品国产麻豆| 成人免费一区二区三区视频| 精品一区二区影视| 91精品国产综合久久蜜臀| 一区二区三区国产豹纹内裤在线| 国产剧情一区在线| 日韩一级二级三级| 亚洲精品国产a| 91在线一区二区| 国产欧美久久久精品影院| 久久精品国产一区二区三 | 亚洲精品v日韩精品| www.日韩av| 国产日韩av一区二区| 久久爱www久久做| 91精品综合久久久久久| 午夜精品一区二区三区免费视频 | 国产一区在线精品| 91精品国产综合久久精品| 亚洲国产精品久久久久秋霞影院 | 26uuu国产在线精品一区二区| 亚洲成va人在线观看| 在线观看区一区二| 亚洲欧美国产毛片在线| 91亚洲精品久久久蜜桃网站| 国产精品全国免费观看高清 | 国产麻豆9l精品三级站| 精品欧美久久久| 久热成人在线视频| 一卡二卡三卡日韩欧美| 色美美综合视频| 玉米视频成人免费看| 在线免费av一区| 午夜欧美2019年伦理| 欧美欧美午夜aⅴ在线观看| 肉丝袜脚交视频一区二区| 在线播放91灌醉迷j高跟美女| 五月天中文字幕一区二区| 欧美日本视频在线| 免费在线看成人av| 欧美第一区第二区| 国产成人精品免费在线| 国产精品私人影院| 色吊一区二区三区| 五月天欧美精品| 欧美大片国产精品| 粉嫩嫩av羞羞动漫久久久| 国产精品福利一区二区三区| 91丝袜呻吟高潮美腿白嫩在线观看| 亚洲精品美腿丝袜| 欧美一区二区三区啪啪| 激情综合色播激情啊| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 一区二区欧美精品| 欧美一级生活片| 国产精品18久久久久久vr| 日本一区二区成人| 欧亚一区二区三区| 麻豆成人在线观看| 欧美国产1区2区| 欧美日韩国产免费一区二区| 精品一区二区三区香蕉蜜桃| 国产精品视频你懂的| 久久免费电影网| 色综合久久久久久久| 日本免费新一区视频| 日本一区二区不卡视频|