導航:首頁 > 源碼編譯 > mcc編譯時如何自定義變數

mcc編譯時如何自定義變數

發布時間:2023-08-19 10:07:14

A. 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

B. java語言中,什麼是變數,如何定義一個變數什麼是常量

變數:

變數是程序運行過程中它的值是允許改變的量。

變數定義:定義必須嚴格按照標識符的命名規則,即0~9數字、字母、下滑線、$等組成,且首字母不能是數字、不能是java關鍵字。

變數格式為[訪問修飾符][修飾符]數據類型 變數名[=初始值]。

eg:public static int a=0;

byte b=2;

常量:

常量是不可改變的量,一次賦值,永不改變。

常量定義:常量需要有final修飾符修飾。常量聲明時必須初始化。常量標識符必須大寫,且多個單詞時用下滑線連接。

注意:有時候常量也可以不用在聲明時就初始化。

eg:做局部變數

public class Test {

public static void main(String[] args)

{

final int Y;

Y=9;

}

}

做靜態全局變數時,若聲明時不服初值,必須在靜態代碼塊中賦初值。

static final int Y;

static{

Y=9;

}

做非靜態全局變數時,若聲明時不服初值,則必須在非靜態代碼塊中賦值。

(2)mcc編譯時如何自定義變數擴展閱讀:

使用變數時注意事項:

作用域:變數定義在那個大括弧內,它就在這個大括弧內有效。並且,在同一個大括弧內不能同時定義同名的變數。

初始化值:沒有初始化值得變數不能直接使用。 只要在使用前給值就行,不一定要在定義是給值。

定義變數的格式: a:數據類型 變數名 = 初始化值; b:數據類型 變數名;變數名 = 初始化值;c:在一行上建議只定義一個變數可以定義多個。

參考資料來源:網路-Java



閱讀全文

與mcc編譯時如何自定義變數相關的資料

熱點內容
解壓迫及法老 瀏覽:58
pdf橫豎 瀏覽:137
5800計算機程序和編程 瀏覽:29
網上報修php源碼 瀏覽:897
魔獸宏命令老是語言提示 瀏覽:971
辦公文件夾大全 瀏覽:471
單片機閃爍燈虛擬線路圖 瀏覽:72
App顯示別的國家怎麼更改 瀏覽:154
幻塔官方伺服器叫什麼 瀏覽:196
android自定義進度框 瀏覽:506
linux自動聯網 瀏覽:492
keil編寫的程序怎麼不能編譯呢 瀏覽:562
ipadair2能編程嗎 瀏覽:358
esxi查看內存命令行 瀏覽:79
u盤settings文件夾 瀏覽:649
新東方雅思寫作pdf 瀏覽:734
python中多個隨機數的生成 瀏覽:119
伺服器偵聽埠是什麼意思 瀏覽:320
手機通知音效文件夾 瀏覽:135
pdf產品目錄 瀏覽:203