日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

MCC学习总结

發(fā)布時(shí)間:2025/1/21 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MCC学习总结 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本文來(lái)自:?高校自動(dòng)化網(wǎng)(Www.zdh1909.com)?詳細(xì)出處參考(轉(zhuǎn)載請(qǐng)保留本鏈接)http://www.zdh1909.com/html/matlab/16654_2.html

?

?  mcc是調(diào)用matlab編譯器的命令,你可以從matlab命令行或者DOSUNIX命令行調(diào)用它。它用于將M文件部署到Matlab運(yùn)行環(huán)境外,產(chǎn)生在CC++里的(wrapper)文件,和有選擇的建立獨(dú)立的二進(jìn)制文件。默認(rèn)情況下,它將所有結(jié)果文件寫(xiě)入當(dāng)前文件夾。如果指定了多個(gè)M文件,編輯器將為每個(gè)文件殘生一個(gè)CC++的函數(shù)。如果C或目標(biāo)文件被指定,他們將連通產(chǎn)生的所有C文件被送到mbuild

?
mcc?[-options]?mfile1?[mfile2?...?mfileN]?[C/C++file1?...?C/C++fileN]

選項(xiàng):

?

-a:加入到檔案文件。

?

添加一個(gè)文件到CTF檔案文件。使用

CODE:

?

-a?filename

將一個(gè)文件直接加入到CTF檔案文件。可以多次使用-a選項(xiàng)。編譯器會(huì)在matlab路徑中尋找這些文件,所以指定完整路徑是可選的。這些文件不會(huì)被送到mbuild,所以,你可以包含類(lèi)似數(shù)據(jù)文件的文件。

?

-b:產(chǎn)生Excel兼容的公式函數(shù)。

?

產(chǎn)生一個(gè)VB文件(.bas)包含Excel公式函數(shù)接口的COM對(duì)象。當(dāng)被導(dǎo)入到工作表VB代碼,這些代碼將允許matlab函數(shù)作為一個(gè)單元格公式函數(shù)來(lái)使用。這需要matlabExcel編譯工具。

?

-B:指定包文件(bundle?file)

?

mcc命令行,將文件替換為制定文件的內(nèi)容。使用

CODE:

?

-B?filename[:?<a1>,?<a2>,?...,?<an>]

這個(gè)包文件名,應(yīng)該僅包含mcc命令行選項(xiàng)和對(duì)應(yīng)的參數(shù)或者其他文件名。這個(gè)文件還可以包含其他-B選項(xiàng)。

?

-c:只產(chǎn)生C代碼。

?

當(dāng)此選項(xiàng)同一個(gè)宏被調(diào)用時(shí),將產(chǎn)生C代碼,但是不調(diào)用mbuild,也就是,不產(chǎn)生單獨(dú)的可執(zhí)行程序。等價(jià)于放在mcc命令行后的-T選項(xiàng)。

?

-d:指定輸出文件夾。

-f:指定選項(xiàng)文件。

-g:產(chǎn)生調(diào)試信息。

-I:添加文件夾到Path

-m:產(chǎn)生一個(gè)可單獨(dú)運(yùn)行的文件。

-M:直接傳遞。

-N:清空Path

-o:指定可執(zhí)行文件名。?

-p:將文件夾加入到Path

-R:運(yùn)行時(shí)。?

-T:指定目標(biāo)階段。

指定輸出文件的目標(biāo)階段和類(lèi)型。使用

CODE:

-T?target

來(lái)定義輸出類(lèi)型。合法的目標(biāo)值是:

codegen

compile:exe

compile:lib

link:exe

link:lib

?

-v:顯示詳細(xì)信息。

-w:顯示警告信息。

-W:指定包裝函數(shù)類(lèi)型。

控制產(chǎn)生函數(shù)包裝。使用

CODE:

-W type

來(lái)控制產(chǎn)生的M文件函數(shù)的包裝類(lèi)型。你提供一個(gè)函數(shù)列表,編譯器將產(chǎn)生這些函數(shù)的保證和任何適當(dāng)?shù)娜肿兞康亩x。下面是合法的type參數(shù)。

main:產(chǎn)生一個(gè)POSIX腳本main()函數(shù);

lib:<string>:產(chǎn)生一個(gè)初始化和終止函數(shù),用于編譯器產(chǎn)生的函數(shù)被編譯進(jìn)一個(gè)大的程序。這一選項(xiàng)同樣產(chǎn)生一個(gè)頭文件,包含指定M文件所有函數(shù)的原型。<string>成為產(chǎn)生的C/C++文件和頭文件的基礎(chǔ)文件名。創(chuàng)建一個(gè).exports文件,包含了所有非靜態(tài)函數(shù)名。

com:<component_name>,<class_name>,<version>:從M文件產(chǎn)生一個(gè)COM對(duì)象。

none:不產(chǎn)生包裝文件,默認(rèn)為none

?

-Ylicense文件。

-z:指定路徑。

?

myfun.m產(chǎn)生一個(gè)可執(zhí)行文件:

CODE:

?

mcc?-m?myfun

myfun.m產(chǎn)生一個(gè)可執(zhí)行文件。myfun.m文件在/files/source文件夾,并將結(jié)果C文件和可執(zhí)行文件放到/files/target文件夾:

CODE:

?

mcc?-m?-I?/files/source?-d?/files/target?myfun

使用一個(gè)mcc調(diào)用為myfun1.mmyfun2.m產(chǎn)生可執(zhí)行文件:

mcc?-m?myfun1?myfun2

?

a0.ma1.m創(chuàng)建一個(gè)共享/動(dòng)態(tài)鏈接庫(kù),叫liba

CODE:

?

mcc?-W?lib:liba?-T?link:lib?a?0?a1

?

?

?

下文轉(zhuǎn)自:

?

?http://wenku.baidu.com/view/06f283c62cc58bd63186bd9a.html

1.當(dāng)MATLAB用戶(hù)一開(kāi)始并不知道當(dāng)前版本的MATLAB?Compiler所支持的編譯器類(lèi)型有哪些時(shí),需設(shè)置編譯環(huán)境如下:

>>?mbuild?-setup

Please?choose?your?compiler?for?building?standalone?MATLAB?applications:

?

Would?you?like?mbuild?to?locate?installed?compilers?[y]/n??n????%輸入

?

Select?a?compiler:

[1]?Borland?C++Builder?version?6.0

[2]?Borland?C++Builder?version?5.0

[3]?Borland?C++Builder?version?4.0

[4]?Borland?C++Builder?version?3.0

[5]?Borland?C/C++?version?5.02

[6]?Borland?C/C++?version?5.0

[7]?Borland?C/C++?(free?command?line?tools)?version?5.5

[8]?Lcc?C?version?2.4

[9]?Microsoft?Visual?C/C++?version?7.1

[10]?Microsoft?Visual?C/C++?version?7.0

[11]?Microsoft?Visual?C/C++?version?6.0

?

[0]?None

?

Compiler:?11????????%輸入

?

Your?machine?has?a?Microsoft?Visual?C/C++?compiler?located?at

C:\Program?Files\Microsoft?Visual?Studio.?Do?you?want?to?use?this?compiler?[y]/n??y??%輸入

?

Please?verify?your?choices:

?

Compiler:?Microsoft?Visual?C/C++?6.0

Location:?C:\Program?Files\Microsoft?Visual?Studio

?

Are?these?correct?([y]/n):?y?????%輸入

?

Try?to?update?options?file:?C:\Documents?and?Settings\Administrator\Application

Data\MathWorks\MATLAB\R14\compopts.bat

From?template:??????????????C:\MATLAB7\BIN\WIN32\mbuildopts\msvc60compp.bat

?

Done?.?.?.

?

?

-->?"C:\MATLAB7\bin\win32\mwregsvr?C:\MATLAB7\bin\win32\mwcomutil.dll"

?

DllRegisterServer?in?C:\MATLAB7\bin\win32\mwcomutil.dll?succeeded

?

-->?"C:\MATLAB7\bin\win32\mwregsvr?C:\MATLAB7\bin\win32\mwcommgr.dll"

?

DllRegisterServer?in?C:\MATLAB7\bin\win32\mwcommgr.dll?succeeded

至此,環(huán)境配置已經(jīng)完成了.

2.簡(jiǎn)單也最常用的生成獨(dú)立.EXE文件命令:

mcc?-m?m文件名(如果主程序調(diào)用子程序時(shí),要一起寫(xiě)進(jìn)去)

例如:

mcc?-m?pure?ssimplex?my_closereq

其中,pure,調(diào)了子程序ssimplex和?my_closereq

3.可在它端計(jì)算機(jī)獨(dú)立運(yùn)行運(yùn)行的方法:

(1)方法一:就生成了獨(dú)立EXE文件pure.m,把它與pure.ctf文件一起復(fù)制到MATLAB的安裝目錄\toolbox\compiler\deploy的目錄中,或者也可以在每次編譯后產(chǎn)生的mcr目錄內(nèi)的\toolbox\compiler\deploy的目錄中搜索到.deploy文件復(fù)制到它端計(jì)算機(jī),都可以運(yùn)行EXE文件.

(2)方法二:MATLAB的安裝目錄\toolbox\compiler\deploy\win32MCRInstaller.exe文件復(fù)制把在它端計(jì)算機(jī),并安裝之,就可以把生成的獨(dú)立執(zhí)行exe文件復(fù)制過(guò)去,即可獨(dú)立運(yùn)行.

4.MATLAB保護(hù)文件(.p):

?

1)編譯后的P文件比原與文件有相同的文件名,只是其擴(kuò)展名為.p。而在MATLAB環(huán)境中P文件有比M文件較高的調(diào)用位級(jí),因此如果MATLAB中存在相同文件名的PM文件,則會(huì)以P文件為優(yōu)先的調(diào)用順序。

2P文件有兩大優(yōu)點(diǎn):①增加文件的執(zhí)行速度②能夠?qū)⑽募C堋R缘?/span>2點(diǎn)最為重要。P文件與M文件執(zhí)行上的功能與操作方式都是一樣的,但最大的不同是P文件無(wú)法閱讀文件內(nèi)容,因此可以很輕易地保持文件內(nèi)容不外泄的效果。

3P文件的編譯方式如下:pcode?文件名

例如,將compiler_test.m這個(gè)文件編譯為P文件就必須輸入以下的程序:pcode?compiler_test

(4)當(dāng)輸入compiler_test時(shí),調(diào)用的是compiler_test.p,而不是compiler_test.m,因?yàn)?/span>P文件的優(yōu)先度高于M文件件.

(5)P文件可以用來(lái)作保密代碼之用,如果你給別人一個(gè)M文件,別人可以打開(kāi)來(lái)看到你所有的代碼和算法。如果你的代碼不想被別人看到,那可以給他P文件。

(6)當(dāng)用GUI做界面時(shí),P文件的同時(shí)也應(yīng)該給.fig文件才能夠運(yùn)行得了.pcode函數(shù)也可以應(yīng)用在M函數(shù)文件。

5.asv文件:

后綴為asv的文件是.m文件自動(dòng)保存的時(shí)候產(chǎn)生的臨時(shí)文件,程序非正常退出的時(shí)候恢復(fù)用的,可以用記事本打開(kāi)看一下,如果matlab正常關(guān)閉的話,刪掉沒(méi)影響。

file-preference-Editor/debugger-autosave里可以改設(shè)置。

6.mat文件:

mat數(shù)據(jù)格式是matlab的數(shù)據(jù)存儲(chǔ)的標(biāo)準(zhǔn)格式。

可以調(diào)用matlab的子程序庫(kù),用cfortan調(diào)用mat格式的數(shù)據(jù)。

matopen?打開(kāi)mat文件

matclose?關(guān)閉mat文件

magetfp?取得mat文件的c語(yǔ)言句柄

matGetArray?取得一個(gè)數(shù)組

?

?

轉(zhuǎn)載于:https://www.cnblogs.com/milier-otw/archive/2013/03/11/2954271.html

總結(jié)

以上是生活随笔為你收集整理的MCC学习总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。