亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Matlab與C/C++混合編程技術(shù)研究

        2014-12-31 00:00:00蔡明明
        數(shù)字化用戶 2014年13期

        【摘 要】Matlab作為一款具有強大運算功能的數(shù)學軟件,廣泛應(yīng)用與各種工程實踐中,它能夠為用戶提供相對其他應(yīng)用軟件更優(yōu)質(zhì)的環(huán)境;C/C++語言是高級程序設(shè)計語言,計算機中的各種硬件、應(yīng)用及操作系統(tǒng)可以通過C/C++語言直接運行。然而在工程實踐中常常會遇到Matlab與C/C++混合編程的技術(shù)問題,如在Matlab的計算環(huán)境中的數(shù)據(jù)處理,文章圍繞二者之間互相調(diào)用的方式,對Matlab與C/C++混合編程的技術(shù)問題進行了深入的研究和探討,希望對這種混合編程的研究提供有益的參考。

        【關(guān)鍵詞】Matlab;C/C++;混合編程技術(shù)

        前言:Matlab是一款廣泛應(yīng)用的數(shù)學軟件,其運算功能十分強大,具備數(shù)據(jù)分析處理、系統(tǒng)分析、數(shù)值計算以及符號或圖形等運算功能,用戶可以通過Matlab這一數(shù)學平臺進行復雜的運算,使分析計算的效率得到最大限度地提高;C/C++語言是高級程序設(shè)計語言,在當下十分流行,計算機中的各種硬件、應(yīng)用及操作系統(tǒng)可以通過C/C++語言直接運行,可見C/C++語言相比其他編程軟件具有明顯的優(yōu)勢,目前很多重要的應(yīng)用軟件主要通過C/C++語言開發(fā)的,如Matlab。

        一、Matlab軟件和C/C++語言簡介

        Matlab是當前廣泛應(yīng)用的數(shù)學軟件,其運算功能十分強大,如具備數(shù)據(jù)分析處理、系統(tǒng)分析、數(shù)值計算以及符號或圖形等運算功能,Matlab能夠為用戶提供相對應(yīng)用軟件更為自由、方便、簡潔的編程環(huán)境,用戶可以通過Matlab這一數(shù)學平臺進行復雜的運算,使分析計算的效率得到最大限度地提高。但是,Matlab應(yīng)用軟件也有缺點,盡管與其他應(yīng)用軟件相比擁有更優(yōu)越的編程環(huán)境,可它的程序始終是一款解釋執(zhí)行的程序,在預處理環(huán)節(jié)中并不需要編譯,所以Matlab軟件程序的運行速度相對來說比較慢。

        C/C++語言是高級程序設(shè)計語言,在當下十分流行,計算機中的各種硬件、應(yīng)用及操作系統(tǒng)可以通過C/C++語言直接操作和運行,可見C/C++語言相比其他編程軟件具有明顯的優(yōu)勢,目前很多重要的大型應(yīng)用軟件主要通過C/C++語言開發(fā)的,如Matlab[1]。

        二、通過Matlab調(diào)用C/C++

        通過Matlab編程軟件對C/C++進行調(diào)用的方式有MEX技術(shù)和C/C++的調(diào)用動態(tài)鏈接庫兩種。在Matlab與C/C++混合編程技術(shù)進行之初,首先要設(shè)置Matlab的應(yīng)用程序以及編譯器——設(shè)置編譯應(yīng)用程序MEX:MEX-SETUP;編譯器MBUILD-SETUP。C/C++文件與MEX文件之間的轉(zhuǎn)換,需要在設(shè)置當中選擇VC編譯器,通常一個C/C++的程序當中包含四個部分,其中第四個可以靈活運用。這里舉一個例子:#includec“mex.h”,通過MEXFUNCTION使Matlab知道如何對函數(shù)進行調(diào)用,最后用mex timestwo.c對文件進行編譯,然后在Matlab的命令下對生成的MEX文件進行調(diào)用。

        當前編譯C/C++程序的編譯也可以通過C語言編譯器,這樣在mex的命令下就可以直接調(diào)用C++語言的mex文件了。在Matlab文件上運行mex文件是不需要其他工具的,可見使用mex文件是很方便的,具有提升運行速度、重用代碼和擴展功能的優(yōu)點。

        Matlab對動態(tài)鏈接庫中的DLL文件提供了接口,通過這個接口就可以通過Matlab對動態(tài)鏈接庫中的數(shù)據(jù)進行調(diào)用,DLL文件中的所有編程語言在Matlab的環(huán)境中都能夠得到支持,調(diào)用DLL文件之前,需要準備相應(yīng)的C語言文件,針可以使用源程序中的文件對C/C++語言的文件提供支持。在Matlab中利用動態(tài)鏈接庫進行調(diào)用的技術(shù)通常要完成以下幾個步驟:打開文件、準備相應(yīng)的數(shù)據(jù)、動態(tài)鏈接庫中導出的函數(shù)進行調(diào)用、關(guān)閉文件。在這些步驟當中需要用到的函數(shù)有:libisloaded,libstruct,calllib,loadlibrary等。

        DLL動態(tài)鏈接庫文件的調(diào)用方式相對MEX文件的方式來說,更具有實用性,能夠為C/C++代碼提供更多方法[2]。

        三、通過C/C++調(diào)用Matlab

        在實踐活動當中通,通過C/C++調(diào)用matlab的方法有多種,如包含m文件轉(zhuǎn)換的C/C++文件、調(diào)用m文件生成的DLL文件以及調(diào)用matlab的計算方法。這里重點對利用Matlab的計算方法進行說明。

        Matlab的數(shù)據(jù)庫能夠提供相應(yīng)的接口數(shù)據(jù),用戶通過對這些接口數(shù)據(jù)的利用,調(diào)用Matlab文件就可以在自己的程序當中直接進行。所以在實踐當中,Matlab相當于服務(wù)器,而C/C++的語言程序就是客戶端,二者通過Matlab的引擎方式結(jié)合到了一起,Matlab計算引擎接進行命令和數(shù)據(jù)的接收就通過C/C++程序來進行。除此之外,C/C++程序也可以在VC的語言環(huán)境下進行編譯,把兩個數(shù)據(jù)鏈接庫libeng.lib和libmx.lib輸入到當前的程序,然后填入兩個目錄即可實現(xiàn)。

        通過這種方式進行Matlab的調(diào)用需要在Matlab環(huán)境中完成,不僅能夠使系統(tǒng)資源得到節(jié)省,也會提高應(yīng)用程序的整體性[3]。

        結(jié)論:綜上所述,由于當下在工程實踐當中常常會遇到Matlab與C/C++混合編程的技術(shù)問題,如在Matlab的計算環(huán)境中的數(shù)據(jù)處理,文章圍繞二者之間互相調(diào)用的方式,即通過Matlab對C/C++進行調(diào)用以及通過C/C++對Matlab進行調(diào)用,對Matlab與C/C++混合編程的技術(shù)問題進行了深入的研究和探討,給出了系統(tǒng)框架的同時可以看到系統(tǒng)應(yīng)用的效果,希望能夠?qū)@種混合編程的研究提供有益的參考,以滿足用戶對編程學習的更多需求。

        參考文獻:

        [1]朱傳安,潘大夫.Matlab與C/C++混合編程接口及應(yīng)用[J].微計算機信息,2010,12(15):229-231.

        [2]甘勝濤.基于MATLAB與C#混合編程的遺傳算法優(yōu)化設(shè)計斜齒輪[J].現(xiàn)代機械,2011,10(03):9-11+26.

        [3]李亞軍.基于MATLAB與C/C++的盲處理系統(tǒng)混合編程模式的研究[D].長春:長春理工大學,2011.

        天堂视频一区二区免费在线观看| 亚洲av成人无码网站…| 无码丰满少妇2在线观看| 日韩av无卡无码午夜观看| 麻豆视频黄片在线免费观看| 国产精品久久久久久人妻无| 99精品国产99久久久久久97| 国产成人精品日本亚洲语音1| 最新亚洲视频一区二区| 手机在线亚洲精品网站| 日本牲交大片免费观看| 国产精品自产拍在线观看免费 | 亚洲av免费手机在线观看| 免费观看的a级毛片的网站| 无码日韩人妻AV一区免费| 亚洲日本精品一区二区三区| 亚洲av福利院在线观看| 国产欧美一区二区精品仙草咪| 毛片av在线播放亚洲av网站| 亚洲永久精品日韩成人av| 精品视频一区二区三区在线观看 | 久久国产精品无码一区二区三区| 久久久国产精品粉嫩av| 蜜臀av毛片一区二区三区| 99亚洲男女激情在线观看| 国产午夜精品一区二区三区视频| 东京热东京道日韩av| 色噜噜亚洲男人的天堂| 国产在线观看免费观看| 91精品国产无码在线观看| 99久久国产精品免费热| 中文字幕无线码| 中文人妻无码一区二区三区信息| 最全精品自拍视频在线| 久久无码人妻丰满熟妇区毛片| 正在播放国产对白孕妇作爱| 在线观看视频日本一区二区三区| 国产自拍偷拍精品视频在线观看| 国产一卡2卡3卡四卡国色天香| 在线av野外国语对白| av在线播放亚洲天堂|