如何在matlab上執行c語言寫的程式

2021-03-25 23:39:52 字數 2212 閱讀 8554

1樓:刀無極啊

1.準備好c語言程式,清楚c語言的入口函式

2.編寫mexfunction函式。mexfunction函式為c語言與matlab語言的介面函式。

呼叫例項在mylinedetect.c檔案中.在matlab中呼叫mex指令編譯相關檔案,將c語言編譯為mex檔案。

3.編譯完成後,生成mylinedetect.mexw32或mylinedetect.mexw64檔案,此檔案即mex檔案,用於matlab與c語言介面函式.

4.編譯完成之後,編寫matlab函式,呼叫mex檔案。以mex檔案的形式呼叫編譯完成的c語言函式[o1,o2]=mylinedetect(double(x).

');......

5.輸出結果,上述linedetect函式完成影象中直線檢測功能,帶入matlab中呼叫後形成結果。

2樓:渾永修毋嬋

呵呵,看來我們有研究相同的問題吧

matlab是一種科學的計算語言,採用的是解釋執行的方式,在配置比較水的機器(比如說我的),執行起來速度不敢恭維,但是他適合工程師用,快速建立起自己的運算平台,很多語法是類似c語言。你可以考察一下matlab的安裝目錄下extern下面lib庫中的函式,可以發現,有很多的c語言**,實際上,其核心有很多c的成分。

所以你應該可以明白了,可以執行,但是要把matlab的庫函式包含在c編譯庫中。

你完全可以在extern中的example中,在matlab環境下面執行幾個c**試一試,當然所採用的指令是mex(把c語言用於matlab中),mcc把matalb**轉化為c**,一些具體的引數,你可以用matlab強大的help工具獲得。我們還可以一起**一下啊,給各郵箱之類的吧,呵呵,很樂意的

怎麼在matlab中呼叫用c語言編寫的程式?

3樓:匿名使用者

1.準備好c語言程式,清楚c語言的入口函式

2.編寫mexfunction函式。mexfunction函式為c語言與matlab語言的介面函式。

呼叫例項在mylinedetect.c檔案中.在matlab中呼叫mex指令編譯相關檔案,將c語言編譯為mex檔案。

3.編譯完成後,生成mylinedetect.mexw32或mylinedetect.mexw64檔案,此檔案即mex檔案,用於matlab與c語言介面函式.

4.編譯完成之後,編寫matlab函式,呼叫mex檔案。以mex檔案的形式呼叫編譯完成的c語言函式[o1,o2]=mylinedetect(double(x).

');......

5.輸出結果,上述linedetect函式完成影象中直線檢測功能,帶入matlab中呼叫後形成結果。

4樓:農靖海

用標頭檔案

就行了檔名 first.h (宣告你需要實現的函式)f1();

f2();

檔名 first1.c

#include 「first.h」

f1()

檔名 first2.c

#include 「first.h」

f2()

檔名 main.c

#include 「first.h」

main()

補充回答:出現lnk2001: unresolved external symbol "void __cdecl print(void)" (?

print@@yaxxz) 檢查下你的宣告,實現,和呼叫的函式名是否一致,一般是這個原因引起的

怎麼在matlab中執行c程式

5樓:匿名使用者

1.準備好c語言程式,清楚c語言的入口函式

2.編寫mexfunction函式。mexfunction函式為c語言與matlab語言的介面函式。

呼叫例項在mylinedetect.c檔案中.在matlab中呼叫mex指令編譯相關檔案,將c語言編譯為mex檔案。

3.編譯完成後,生成mylinedetect.mexw32或mylinedetect.mexw64檔案,此檔案即mex檔案,用於matlab與c語言介面函式.

4.編譯完成之後,編寫matlab函式,呼叫mex檔案。以mex檔案的形式呼叫編譯完成的c語言函式[o1,o2]=mylinedetect(double(x).

');......

5.輸出結果,上述linedetect函式完成影象中直線檢測功能,帶入matlab中呼叫後形成結果。

如何在c語言中跳出for迴圈

跳出for迴圈主要有以下2中方式 1 用break語句。如 int i for i 0 i 10 i printf d i 2 用return語句 一般用在函式體屬中,作為函式的返回值跳出該函式,也即跳出了函式體中的for迴圈 int fun int a 就用break啊!在for迴圈裡面加個判斷,...

C語言中,switch如何完成只執行case的迴圈啊

c語言的switch語句,並不具備迴圈功能。要實現迴圈的話,就要使用for迴圈以及while迴圈等結構。但是執行這些語句要跳出switch從而實現迴圈的話,就要使用break 就像樓主提問所說的那樣。除非使用像一樓所說的那樣,使用goto語句。但是這不符合結構化程式設計的要求。當程式複雜時會破壞電腦...

c語言執行庫是什麼,c語言執行需要什麼環境?

1 c執行庫,是和平台相關的,即和作業系統相關的。它由不同作業系統不同開發平台提供不同的c執行庫。但是c執行庫的部分實現是基於c標準庫的,即c執行庫是各個作業系統各個開發工具根據自身平台開發的庫,某種程度上,可以說c執行庫是c標準庫的乙個擴充套件庫,只是加了很多c標準庫所沒有的與平台相關的或者不相關...