導航:首頁 > 源碼編譯 > 總結m文件編譯步驟及命名規則

總結m文件編譯步驟及命名規則

發布時間:2023-05-30 19:21:28

① Linux下,用什麼命令編譯m文件為可執行文件

windows操作系統根據文件的擴展名來區分文件類型,而Linux系統不是,Linux通過查看文件內的頭部信息來確定文件的類型,而與文件的名字無關。使用gcc 編譯test時出現錯誤,不是操作系統的原因,代碼文件命名為text與text.c,對於操作系統來說,它們都是text文件,沒有什麼區別,但對於編譯程序gcc來說就不同了,gcc編譯器程序是根據文件的擴展名來判斷文件類型的,所以使用gcc test -o test.out命令出現的錯誤不是操作系統的原因,而是gcc的原因,gcc程序的輸入文件一般擴展名為.c .cpp .o .asm .S .s等,具體見gcc幫助文檔。

② Matlab我把M文件編譯成P文件之後…把P文件傳給其他人運行結果發現裡面的中文字元串都顯示成問號或者空格

最大的可能是因為MATLAB版本。

我看了這個P文件,是2.8版,對應的MATLAB版本應該是6.5或6.5.1,在我的6.5上面運行沒任何問題:

>>mooncake
歡迎參加由Matlab舉辦的中秋博餅游戲>V<
今天是18-Sep-2013
不知道你的運氣如何呢!

嘛,你打算做什麼呢?請輸入相應數字鍵來進行選擇
1.開始博餅;2.特殊規則設置;3.參數設置;4.博餅介紹;5.關於我…;0.退出
Meow:5

MATLAB版中秋博餅程序
2013年9月17日
喵里葉變換(MourierTransform)製作
琪露諾的完美編程工作室

嘛,你打算做什麼呢?請輸入相應數字鍵來進行選擇
1.開始博餅;2.特殊規則設置;3.參數設置;4.博餅介紹;5.關於我…;0.退出
Meow:4

那麼,你想了解哪些內容呢?
1.博餅簡介;2.博餅起源;3.博餅規則;0.返回主菜單
Meow:1

中秋博餅是閩南地區特有並文化外延的一種民俗活動。
是在中秋節時用於娛樂的一種游戲,用六粒骰子投擲結果
組合來決定參與者的獎品。傳統的獎品為大小不同的月餅,
專有名為會餅,相傳這種游戲可以預測人未來一年內的運
氣。轉載於(http://zh.wikipedia.org/wiki/博餅)

MATLAB 6.x的字元編碼是系統相關的,而7.x是基於Unicode,但7.x似乎始終對多位元組字元集(如中文)的支持存在問題,例如Simulink的模型中包含中文字元就導致無法保存等等。

另一個值得一提的是,P文件的格式在MATLAB 7.4(2007a)之後做了比較大的調整,盡管理論上應該是可以兼容老版本,但實際上問題會比較多。

我沒有找到更好的解決辦法,只能選擇以下二者之一:換一個目標機上對應版本的MATLAB來重新解析生成P文件,或者,建議目標機上使用和你相同的MATLAB。

③ MATLAB GUI多個m文件和fig如何生成exe文件

方法一:
已有gui.m文件和gui.fig文件
1 在matlab的command窗口中輸入
mcc -B sgl GUI.m
2.將上步生成的文件包括*m 文件和*.fig文件一起考到待運行的機器,此時仍需matlab所必需的動態連接庫。
3. 將 <matlab path >/extern/lib/win32/mglinstallar.exel拷貝到到待運行機器上
4.在機器上先運行mglinstallar.exe, 然後選擇解壓目錄,將在將在指定目錄下解壓縮出bin和toolbox兩個子目錄,
其中在binwin32目錄下就是數學庫和圖形庫脫離MATLAB運行所需的所有動態連接庫,共
有37個。可以將這些.dll考入system32, 也可以直接放在應用程序目錄下。
而toolbox目錄則必須與應用程序同一目錄。

方法二:
matlab編程很方便,強大的矩陣運算功能,很多好用的工具箱,但是一般程序都要在matlab環境中運行,能否脫離這個環境打包發布,matlab也提供了這樣的工具。
1. 轉化為c/c++程序並編譯為.exe
先驗證mcc是否可用,用matlab中的example驗證即可。
建議不用matlab默認的lcc 編譯器(可能有問題),可使用VC6編譯器(按默認路徑安裝)。
由於帶有界面,需要圖像庫支持,編譯時應使用命令: mcc -B sglcpp pressure
編譯生成若干c/c++源碼,以及.exe文件、bin目錄中figure菜單條/工具條文件(.fig)等
程序發布需要.exe、bin、.fig。
2. 在未裝matlab的電腦上運行程序需要數學運行時庫、圖像運行時庫以及用到的工具箱mex文件。
前兩者已經在.exe壓縮包中,將其解壓,並在環境變數path中添加解壓到的路徑。
另外若程序中還用到其他工具箱的東西,那麼需要將此工具箱中需要的mex文件也一並放在解壓到的路徑,子文件夾位置與matlab中的位置相同。
3. 在確保.exe程序可以運行的情況下 可以用setup factory打包發布。

④ MATLAB中M文件的編寫與調試的過程是什麼

1、安裝編譯器。可有多種選擇,matlab自帶了一個LCC,推薦使用VC++6.0,我基於VS 2005實現。
2、設置編譯器。在matlab命令行輸入mbuild –setup以及mex –setup,選擇安裝的c編譯器。
3、調用編譯器。此處使用MATLAB下的一個GUI平台deploytool下完全實現。在命令窗口輸入deploytool即可看到。具體使用方法請Help。
當然,也可以輸入mcc -m filaname, filaname為要轉成exe的m文件;
註:在以前的版本中,用編譯命令mcc -B sglcpp filaname;自2006的版本後,替換為mcc -mfilaname;
4、安裝matlab path\toolbox\compiler\deploy\win32目錄下的MCRInstaller。 5.有時候我們會需要file.m文件有參數傳遞,像下面的代碼的一樣:我們要傳一個參數ms進去,但是在控制台下運行file.exe '5'後面參數只能是字元串。所以我們在M文件中把它進類型轉換。
MATLAB 產品族可以用來進行以下各種工作:
● 數值分析
● 數值和符號計算
● 工程與科學繪圖
● 控制系統的設計與模擬
● 數字圖像處理 技術
● 數字信號處理 技術
● 通訊系統設計與模擬
● 財務與金融工程
MATLAB 的應用范圍非常廣,包括信號和圖像處理、通訊、控制系統設計、測試和測量、財務建模和分析以及計算生物學等眾多應用領域。附加的工具箱(單獨提供的專用 MATLAB 函數集)擴展了 MATLAB 環境,以解決這些應用領域內特定類型的問題。
matlab特點
●此高級語言可用於技術計算
●此開發環境可對代碼、文件和數據進行管理
●互動式工具可以按迭代的方式探查、設計及求解問題
●數學函數可用於線性代數、統計、傅立葉分析、篩選、優化以及數值積分等
●二維和三維圖形函數可用於可視化數據
●各種工具可用於構建自定義的圖形用戶界面
●各種函數可將基於MATLAB的演算法與外部應用程序和語言(如 C、C++、Fortran、Java、COM 以及 Microsoft Excel)集成
MATLAB的優勢
(1)友好的工作平台和編程環境
MATLAB由一系列工具組成。這些工具方便用戶使用MATLAB的函數和文件,其中許多工具採用的是圖形用戶界面。包括MATLAB桌面和命令窗口、歷史命令窗口、編輯器和調試器、路徑搜索和用於用戶瀏覽幫助、工作空間、文件的瀏覽器。隨著MATLAB的商業化以及軟體本身的不斷升級,MATLAB的用戶界面也越來越精緻,更加接近Windows的標准界面,人機交互性更強,操作更簡單。而且新版本的MATLAB提供了完整的聯機查詢、幫助系統,極大的方便了用戶的使用。簡單的編程環境提供了比較完備的調試系統,程序不必經過編譯就可以直接運行,而且能夠及時地報告出現的錯誤及進行出錯原因分析。
(2)簡單易用的程序語言
Matlab一個高級的矩陣/陣列語言,它包含控制語句、函數、數據結構、輸入和輸出和面向對象編程特點。用戶可以在命令窗口中將輸入語句與執行命令同步,也可以先編寫好一個較大的復雜的應用程序(M文件)後再一起運行。新版本的MATLAB語言是基於最為流行的C++語言基礎上的,因此語法特徵與C++語言極為相似,而且更加簡單,更加符合科技人員對數學表達式的書寫格式。使之更利於非計算機專業的科技人員使用。而且這種語言可移植性好、可拓展性極強,這也是MATLAB能夠深入到科學研究及工程計算各個領域的重要原因。
(3)強大的科學計算機數據處理能力
MATLAB是一個包含大量計算演算法的集合。其擁有600多個工程中要用到的數學運算函數,可以方便的實現用戶所需的各種計算功能。函數中所使用的演算法都是科研和工程計算中的最新研究成果,而前經過了各種優化和容錯處理。在通常情況下,可以用它來代替底層編程語言,如C和C++ 。在計算要求相同的情況下,使用MATLAB的編程工作量會大大減少。MATLAB的這些函數集包括從最簡單最基本的函數到諸如矩陣,特徵向量、快速傅立葉變換的復雜函數。函數所能解決的問題其大致包括矩陣運算和線性方程組的求解、微分方程及偏微分方程的組的求解、符號運算、傅立葉變換和數據的統計分析、工程中的優化問題、稀疏矩陣運算、復數的各種運算、三角函數和其他初等數學運算、多維數組操作以及建模動態模擬等。
(4)出色的圖形處理功能

圖形處理功能 MATLAB自產生之日起就具有方便的數據可視化功能,以將向量和矩陣用圖形表現出來,並且可以對圖形進行標注和列印。高層次的作圖包括二維和三維的可視化、圖象處理、動畫和表達式作圖。可用於科學計算和工程繪圖。新版本的MATLAB對整個圖形處理功能作了很大的改進和完善,使它不僅在一般數據可視化軟體都具有的功能(例如二維曲線和三維曲面的繪制和處理等)方面更加完善,而且對於一些其他軟體所沒有的功能(例如圖形的光照處理、色度處理以及四維數據的表現等),MATLAB同樣表現了出色的處理能力。同時對一些特殊的可視化要求,例如圖形對話等,MATLAB也有相應的功能函數,保證了用戶不同層次的要求。另外新版本的MATLAB還著重在圖形用戶界面(GUI)的製作上作了很大的改善,對這方面有特殊要求的用戶也可以得到滿足。
(5)應用廣泛的模塊集合工具箱
MATLAB對許多專門的領域都開發了功能強大的模塊集和工具箱。一般來說,它們都是由特定領域的專家開發的,用戶可以直接使用工具箱學習、應用和評估不同的方法而不需要自己編寫代碼。目前,MATLAB已經把工具箱延伸到了科學研究和工程應用的諸多領域,諸如數據採集、資料庫介面、概率統計、樣條擬合、優化演算法、偏微分方程求解、神經網路、小波分析、信號處理、圖像處理、系統辨識、控制系統設計、LMI控制、魯棒控制、模型預測、模糊邏輯、金融分析、地圖工具、非線性控制設計、實時快速原型及半物理模擬、嵌入式系統開發、定點模擬、DSP與通訊、電力系統模擬等,都在工具箱(Toolbox)家族中有了自己的一席之地。
(6)實用的程序介面和發布平台
新版本的MATLAB可以利用MATLAB編譯器和C/C++數學庫和圖形庫,將自己的MATLAB程序自動轉換為獨立於MATLAB運行的C和C++代碼。允許用戶編寫可以和MATLAB進行交互的C或C++語言程序。另外,MATLAB網頁服務程序還容許在Web應用中使用自己的MATLAB數學和圖形程序。MATLAB的一個重要特色就是具有一套程序擴展系統和一組稱之為工具箱的特殊應用子程序。工具箱是MATLAB函數的子程序庫,每一個工具箱都是為某一類學科專業和應用而定製的,主要包括信號處理、控制系統、神經網路、模糊邏輯、小波分析和系統模擬等方面的應用。
(7)應用軟體開發(包括用戶界面)
在開發環境中,使用戶更方便地控制多個文件和圖形窗口;在編程方面支持了函數嵌套,有條件中斷等;在圖形化方面,有了更強大的圖形標注和處理功能,包括對性對起連接注釋等;在輸入輸出方面,可以直接向Excel和HDF5進行連接。

閱讀全文

與總結m文件編譯步驟及命名規則相關的資料

熱點內容
mdk編譯後目標文件 瀏覽:613
老人動手解壓 瀏覽:720
小米sd卡解壓 瀏覽:996
程序員那麼可愛陸漓替老袁說情 瀏覽:28
當女程序員遇見問題 瀏覽:746
32位編譯器什麼意思 瀏覽:355
php多參數函數 瀏覽:17
通達信板塊動作源碼 瀏覽:751
matlab完全自學一本通pdf 瀏覽:250
php源碼本地安裝 瀏覽:961
伺服器怎麼用不會斷電 瀏覽:301
主從伺服器有什麼用 瀏覽:213
jstlpdf 瀏覽:15
安卓原神在哪個app下載 瀏覽:808
單片機編程技術什麼意思 瀏覽:104
e點課堂源碼 瀏覽:46
免費打擊墊app哪個好 瀏覽:532
程序員必裝的6款軟體 瀏覽:750
基於單片機的遙控器設計 瀏覽:521
安卓如何取消圓圖標 瀏覽:11