mcc編譯器
① 如何更改mccvim的編譯器和連接
最基本的方法是用vim調用終端的命令,你在vim里輸入!gcc%然後回車,應該就會編譯你的當前文件(如果你的C++就是g++,python就是python)當然你要是一整個工程要用make你可以在.vimrc里添加一句nmap:w!gcc%這樣你按F5就可以實現自動保存文件並編譯
② PIC單片機,MCC18編譯器中只有18系列的linker script 文件,現在我用的是12f683這一款,
mcc18隻支持PIC18系列單片機。MCC沒有支持PIC12、PIC16系列單片機的。你要下載的是PICC for PIC12/16 編譯器。
③ 我用MCC18編譯器在 MPLAB IDE v8.53 環境下編程,在編譯時位操作指令都認為錯誤,如PIR1.RC1IF=0; 請問原
PIR1bits.RC1IF=0;
④ pic18f4520單片機,用的mcc18編譯器,c語言中有一句asm("nop")編譯的時候一直
用
NOP();
代替
asm("nop");
⑤ matlab 2011a怎麼用mcc把matlab代碼轉成c++代碼
利用Matlab編譯器從m文件生成C/C++代碼
6.1版本的Matlab軟體包中提供了C/C++的數學和圖形庫,通過其編譯器支持可以將Matlab中編寫的m文件轉換成以C/C++代碼的文件,而且可以將m文件生成dll庫,甚至我們可以直接調用其中的庫函數,生成並發布不必依賴Matlab的可執行文件。通過mcc編譯器生成C/C++代碼,進而可以在VC或者其它編譯器生成可獨立執行的應用程序。
下面具體討論如何利用Matlab編譯器從m文件生成C/C++代碼,並嵌入用戶代碼,生成運行時不需Matlab支持的應用程序。設matsum.m文件,內容如下:
function sum = matbs( a, b )
% sum
sum = a + b
用mcc命令轉換為C/C++代碼,命令行參數如下
生成C文件
mcc -t -L C matsum.m
生成C++文件
mcc -t -L Cpp matsum.m
生成動態鏈接庫函數
mcc -t -W lib:sum -T link:lib matsum.m
注意①lib:後跟生成的庫文件名不能和原m文件名相同(此處為sum),②此處只能生成C語言方式的動態鏈接庫。該編譯命令共生成9個文件,其中sum.lib和sum.dll是可以在C/C++應用程序中調用的動態鏈接庫文件。
mcc函數實現matlab的m文件轉化為c,c++文件。 命令的格式為: mcc[-option]fun[fun2...][mexfile1...][mlifile...] 此函數的作用是將matlab程序fun.m轉化為c程序fun.c或者c++程序fun.cpp 轉化後的文件默認在當前目錄中。 若M文件多於一個,那麼每個文件對應轉化相應的c和c++文件 若源文件包含c文件,則將它們同新生成的c文件一起編譯。 一些有用的option參數解釋如下: ———————————————————————————————————— c 轉化為c語言文件但是不生成mex文件或者獨立應用程序 d<directory> 指定生成的文件目錄 G/g 進入調試狀態 h 編譯幫助函數,所以的m文件都將編譯到mex文件或者獨立應用程序 L《option》 指定目標語言為option,其中c,cpp,p分別代表c語言,c++,matlab語言 m 指定創建獨立c語言應用程序的宏,作用等於『-t-W main -L C-h-T link:exe libmmdile.mlib』 M"<string>" 向MBLID或者mex教本傳遞string中包含的信息 o<outputfilename> 指定輸出文件名 O<optimization> 指定優化參數 p 指定創建獨立c++語言應用程序的宏 作用等於-t-W main -L Cpp-h-T link:exe libmmdile.mlib』 v 詳細顯示編譯步驟 x 指定創建獨立mex文件的宏,作用等於-t-W main -L C-T link:exe libmmdile.mlib』 S 轉化為simuink的s函數 ———————————————————————————————————— ———————————————————————————————————— eg 現有m文件main.m mrank.m,主函數main中調用了子函數mrank main.m function main r=mrank(5) mrank.m function r=mrank(n) r=zeros(n,1); for k=1:n r(k)=rank(magic(k)); end 在matlab環境下執行主程序可以看到結果 》》main r= 1 2 3 3 5 現在要把他們轉化為c和cpp程序 在matlab工作窗口中輸入下面命令 》》mcc-mc main mrank 可以得到下面個文件: main.c main.h main-main.c mrank.c mrank.h 在matlab中輸入下面命令 mcc -lcpp main mrank 可以得到下面5個文件 main.cpp main.hpp main-main.cpp mrank.cpp mrank.hpp 有了這些程序以後,就可以在其他c,c++程序中方便調用了 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、 創建獨立可執行程序 方法1:編譯m文件為可執行程序 mcc -m main mrank or mcc -p main mrank 方法2:將編譯的c c++轉化為可執行程序 mbuild main.c main_main.c mrank.c or mbuild main.cpp main_main.cpp mrank.cpp
⑥ MATLAB中如何設置編譯器
1. 安裝
單獨安裝、和MATLAB同時安裝。
2. 設置(以vs2005為例)
>> mbuild -setup
Please choose your compiler for building standalone MATLAB applications:
Would you like mbuild to locate installed compilers [y]/n? y
Select a compiler:
[1] Lcc-win32 C 2.4.1 in D:\PROGRA~1\MATLAB\R2010a\sys\lcc
[2] Microsoft Visual C++ 2008 SP1 in D:\Program Files\Microsoft Visual Studio 9.0
[3] Microsoft Visual C++ 2005 SP1 in C:\Program Files\Microsoft Visual Studio 8
[0] None
Compiler: 3
Please verify your choices:
Compiler: Microsoft Visual C++ 2005 SP1
Location: C:\Program Files\Microsoft Visual Studio 8
Are these correct [y]/n?
Trying to update options file: C:\Documents and Settings\Administrator\Application Data\MathWorks\MATLAB\R2010a\compopts.bat
From template: D:\PROGRA~1\MATLAB\R2010a\bin\win32\mbuildopts\msvc80compp.bat
Done . . .
3. 使用
(1)在 MATLAB 環境中使用 mcc 命令;
(2)在系統命令環境中使用 mcc.exe (在Windows上);
(3)在 MATLAB 環境中使用 Deployment Tool。
4. 程序發布
(1)使用 MATLAB 命令 builder;
(2)使用 Deployment Tool 圖形化工具。
一般來說,需要發布的文件有3個:
(1)編譯得到的可執行文件或庫函數;
(2)CTF 文件;
(3)MCRInstaller.zip。
在最終用戶的計算機上,首先需要把MCRInstaller.zip 解壓,並把 MCR 中可執行文件所在目錄添加到系統路徑上,然後就可以使用編譯後的程序了。
⑦ MATLAB進行mcc編譯時出錯提示mbuild不是內部或外部指令是怎麼回事
可能你沒有裝C的編譯器
⑧ 為什麼matlab調用mcc命令時出錯
在matlab、toolbox里根本找不到相應的組件,在編譯之前要確保編譯組件已安裝。你裝matlab的時候,沒有安裝Complier,就是matlab的編譯器,所以你調用命令的時候顯示warrning
一般的時候,如果你安裝了Complier,當你輸入mcc命令的時候,會出現一個命令,電腦讓你學則需要安裝的編譯器,選完之後,系統會自動安裝,然後,就可以編譯了!!
你可以重新裝一下matlab
⑨ 哪裡有mcc18編譯器教程
只能支持F18系列的吧,我用MCC18的2.5版本的找不到F12系列的支持