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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MCC学习总结

發布時間:2025/1/21 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MCC学习总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文來自:?高校自動化網(Www.zdh1909.com)?詳細出處參考(轉載請保留本鏈接)http://www.zdh1909.com/html/matlab/16654_2.html

?

?  mcc是調用matlab編譯器的命令,你可以從matlab命令行或者DOSUNIX命令行調用它。它用于將M文件部署到Matlab運行環境外,產生在CC++里的(wrapper)文件,和有選擇的建立獨立的二進制文件。默認情況下,它將所有結果文件寫入當前文件夾。如果指定了多個M文件,編輯器將為每個文件殘生一個CC++的函數。如果C或目標文件被指定,他們將連通產生的所有C文件被送到mbuild

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

選項:

?

-a:加入到檔案文件。

?

添加一個文件到CTF檔案文件。使用

CODE:

?

-a?filename

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

?

-b:產生Excel兼容的公式函數。

?

產生一個VB文件(.bas)包含Excel公式函數接口的COM對象。當被導入到工作表VB代碼,這些代碼將允許matlab函數作為一個單元格公式函數來使用。這需要matlabExcel編譯工具。

?

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

?

mcc命令行,將文件替換為制定文件的內容。使用

CODE:

?

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

這個包文件名,應該僅包含mcc命令行選項和對應的參數或者其他文件名。這個文件還可以包含其他-B選項。

?

-c:只產生C代碼。

?

當此選項同一個宏被調用時,將產生C代碼,但是不調用mbuild,也就是,不產生單獨的可執行程序。等價于放在mcc命令行后的-T選項。

?

-d:指定輸出文件夾。

-f:指定選項文件。

-g:產生調試信息。

-I:添加文件夾到Path。

-m:產生一個可單獨運行的文件。

-M:直接傳遞。

-N:清空Path

-o:指定可執行文件名。?

-p:將文件夾加入到Path。

-R:運行時。?

-T:指定目標階段。

指定輸出文件的目標階段和類型。使用

CODE:

-T?target

來定義輸出類型。合法的目標值是:

codegen

compile:exe

compile:lib

link:exe

link:lib

?

-v:顯示詳細信息。

-w:顯示警告信息。

-W:指定包裝函數類型。

控制產生函數包裝。使用

CODE:

-W type

來控制產生的M文件函數的包裝類型。你提供一個函數列表,編譯器將產生這些函數的保證和任何適當的全局變量的定義。下面是合法的type參數。

main:產生一個POSIX腳本main()函數;

lib:<string>:產生一個初始化和終止函數,用于編譯器產生的函數被編譯進一個大的程序。這一選項同樣產生一個頭文件,包含指定M文件所有函數的原型。<string>成為產生的C/C++文件和頭文件的基礎文件名。創建一個.exports文件,包含了所有非靜態函數名。

com:<component_name>,<class_name>,<version>:從M文件產生一個COM對象。

none:不產生包裝文件,默認為none。

?

-Ylicense文件。

-z:指定路徑。

?

myfun.m產生一個可執行文件:

CODE:

?

mcc?-m?myfun

myfun.m產生一個可執行文件。myfun.m文件在/files/source文件夾,并將結果C文件和可執行文件放到/files/target文件夾:

CODE:

?

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

使用一個mcc調用為myfun1.mmyfun2.m產生可執行文件:

mcc?-m?myfun1?myfun2

?

a0.ma1.m創建一個共享/動態鏈接庫,叫liba

CODE:

?

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

?

?

?

下文轉自:

?

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

1.當MATLAB用戶一開始并不知道當前版本的MATLAB?Compiler所支持的編譯器類型有哪些時,需設置編譯環境如下:

>>?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

至此,環境配置已經完成了.

2.簡單也最常用的生成獨立.EXE文件命令:

mcc?-m?m文件名(如果主程序調用子程序時,要一起寫進去)

例如:

mcc?-m?pure?ssimplex?my_closereq

其中,pure,調了子程序ssimplex和?my_closereq

3.可在它端計算機獨立運行運行的方法:

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

(2)方法二:MATLAB的安裝目錄\toolbox\compiler\deploy\win32MCRInstaller.exe文件復制把在它端計算機,并安裝之,就可以把生成的獨立執行exe文件復制過去,即可獨立運行.

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

?

1)編譯后的P文件比原與文件有相同的文件名,只是其擴展名為.p。而在MATLAB環境中P文件有比M文件較高的調用位級,因此如果MATLAB中存在相同文件名的PM文件,則會以P文件為優先的調用順序。

2P文件有兩大優點:①增加文件的執行速度②能夠將文件保密。以第2點最為重要。P文件與M文件執行上的功能與操作方式都是一樣的,但最大的不同是P文件無法閱讀文件內容,因此可以很輕易地保持文件內容不外泄的效果。

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

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

(4)當輸入compiler_test,調用的是compiler_test.p,而不是compiler_test.m,因為P文件的優先度高于M文件件.

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

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

5.asv文件:

后綴為asv的文件是.m文件自動保存的時候產生的臨時文件,程序非正常退出的時候恢復用的,可以用記事本打開看一下,如果matlab正常關閉的話,刪掉沒影響。

file-preference-Editor/debugger-autosave里可以改設置。

6.mat文件:

mat數據格式是matlab的數據存儲的標準格式。

可以調用matlab的子程序庫,用cfortan調用mat格式的數據。

matopen?打開mat文件

matclose?關閉mat文件

magetfp?取得mat文件的c語言句柄

matGetArray?取得一個數組

?

?

轉載于:https://www.cnblogs.com/milier-otw/archive/2013/03/11/2954271.html

總結

以上是生活随笔為你收集整理的MCC学习总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。