在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > EDA/PCB > 設計應用 > Matlab與C/C++混合編程接口及應用

            Matlab與C/C++混合編程接口及應用

            作者: 時間:2012-08-27 來源:網(wǎng)絡 收藏

            3.3 利用mcc 編譯器生成的的DLL 文件

            的C++ Complier不僅能夠?qū)?a class="contentlabel" href="http://www.biyoush.com/news/listbylabel/label/Matlab">Matlab的m文件轉(zhuǎn)換為C/C++的源代碼,還能產(chǎn)生完全 脫離運行環(huán)境的獨立可執(zhí)行DLL程序。從而可以在C/C++程序中,通過調(diào)用DLL實現(xiàn)對 Matlab代碼的調(diào)用。下面通過一個簡單的例子說明C/C++調(diào)用m文件生成的DLL:

            a.建立m文件example4.m: function result=example4(para)

            x=[1 para 3]; y=[1 3 1]; plot(x,y); result=para*2; end.然后在命令窗口中輸入:

            mcc -t -W libhg:example4 -T link:lib -h libmmfile.mlib libmwsglm.mlib example4則在工作目錄下會生成example4 .dll、example4 .lib和example4 .h三個文件。

            b.在VC中新建一個基于對話框的應用程序Test3,然后添加一個按鈕及按鈕響應函數(shù),函數(shù)內(nèi)容見d步,再將生成的3個文件拷貝到Test2工程目錄下。

            c.VC編譯環(huán)境的設置如同3.2節(jié)c、d步;

            d.在按鈕函數(shù)文件添加如下的頭文件:#include example4 .h ,函數(shù)響應代碼為:

            mxArray* para=mxCreateDoubleScalar(2); mxArray* result; example4Initialize();

            result=mlfExample4(para); CString str;

            str.Format(%f,mxGetScalar(result)); AfxMessageBox(str);

            e.編譯,連接,執(zhí)行,結果如圖3所示。

            利用mcc 編譯器生成的DLL 動態(tài)連接庫文件,只需在C/C++編譯環(huán)境中將其包含進來, 調(diào)用導出函數(shù)即可實現(xiàn)原m 文件的功能,極大地方便了用戶的代碼設計。

            4 結束語

            本文從Matlab 調(diào)用C/C++代碼和C/C+調(diào)用m 文件兩方面,詳細地研究了Matlab 與C/C++ 技術。對于Matlab 調(diào)用C/C++代碼,給出了常用的MEX 技術和調(diào)用C/C++動態(tài)連接 庫的方法,并對它們進行比較。針對用戶在實際中經(jīng)常遇到的C/C++調(diào)用Matlab 問題,通過研究給出了常用的三種方法及其特點:利用Matlab 計算引擎的方法,后的可執(zhí) 行程序脫離不了Matlab 的運行環(huán)境,運行速度很慢;利用mcc 編譯器將m 文件轉(zhuǎn)化為C/C++ 文件的方法,雖然能獨立于Matlab 運行環(huán)境,可在C/C++環(huán)境中包含生成的文件非常繁瑣; 但是m 文件生成的DLL 為用戶提供了一種簡潔方便的C/C++調(diào)用Matlab 代碼的方法。除 Matlab 自帶的mcc 外,Matcom 也能將M 文件編譯為C/C++文件和DLL 文件[2][8],但 原理一樣,在此省略。


            上一頁 1 2 3 4 下一頁

            關鍵詞: Matlab 混合編程 接口

            評論


            相關推薦

            技術專區(qū)

            關閉