matlab compiler 与matlab coder 区别,MATLAB编译器与MATLAB编码器
MATLAB編譯器將您的MATLAB代碼(保留為MATLAB .m代碼)進行encryption和歸檔,并將其打包為一個精簡的可執行文件(.exe或.dll)包裝器。 這是隨MATLAB編譯器運行時(MCR)一起提供給最終用戶的。 如果你愿意,MCR也可以打包在可執行文件中。
MCR可以自由的重新分配,你可以把它看作本質上沒有前端桌面的MATLAB的副本。
當用戶運行可執行文件時,它將對MATLAB代碼進行歸檔和解密,然后對MCR而不是MATLAB進行運行。 因此,通過這種方法交付的應用程序應該與MATLAB中的完全相同(包括相同的速度)。
MATLAB編碼器將MATLAB語言的一個子集轉換為C代碼。 這可以以多種方式使用,包括作為mex文件返回到MATLAB,使用C編譯器編譯為從另一個應用程序調用,或者傳遞到embedded式設備。 由于它是C代碼而不是MATLAB代碼,所以它經常(雖然不總是)比原來的MATLAB代碼運行速度快得多。 C代碼不需要MCR。 MATLAB語言支持的子集非常廣泛,但是在提交此工作stream程之前,您還是需要考慮一些顯著的限制。 生成的代碼是C代碼,但如果您需要使用C ++編譯器而不是C編譯器,則可以生成C ++包裝器。
MATLAB編譯器專門用于你想簡單地(相當)直接地共享一個你寫的MATLAB應用程序與沒有MATLAB副本的人共享的用例。 由于部署的.m代碼是encryption的,所以它也可以用來共享MATLAB代碼,同時保護知識產權。
MATLAB Coder還有其他一些用例,例如想要通過轉換為mex文件來加速MATLAB代碼,或者需要為其他應用程序或embedded式設備生成C代碼。
如果您有更詳細的問題,我真的build議您只需調用MathWorks并詢問它們。
編輯 :上面的信息是正確的版本的MATLAB R2014b及以下。 從MATLAB R2015a開始, MATLAB Compiler的function已經與MATLAB Builder產品的function進行了混合,還有一個新的產品MATLAB Compiler SDK 。
從R2015a開始, MATLAB Compiler的工作方式與上述相同(即encryption,存檔和打包,但不生成C),但現在將打包為.exe和Excel加載項(.xla)。 在R2015a之前,這個function曾經出現在產品MATLAB Builder EX for Excel中 。
從R2015a開始, MATLAB編譯器不再生成.dll組件。 這個function已經被轉移到新產品MATLAB編譯器SDK中 ,該編譯器SDK還包括生成.NET程序集和Java類的function。 在R2015a之前,這個function曾經出現在產品MATLAB Builder NE for .NET和MATLAB Builder JA for Java的產品中 。
換一種說法:
在R1414b及以下,我們有:
MATLAB編譯器 :生成.exe和.dll組件
用于.NET的MATLAB Builder NE :生成.NET程序集
用于Java的MATLAB Builder JA :生成Java類
用于Microsoft Excel的MATLAB Builder EX :生成Excel加載項。
在R2015a,我們有:
MATLAB編譯器 :生成.exe和Excel加載項
MATLAB編譯器SDK :生成.dll,.NET程序集和Java類。
MATLAB Coder的范圍和用例在這些版本中并沒有改變(雖然有新的function)。
編輯 :從R2015b開始, MATLAB Compiler SDK也生成Python包。
有關區分MATLAB編碼器和C / C ++的MATLAB編譯器的更多信息可以在這里find 。
用于代碼生成的不同MATLAB產品的比較表。
總結
以上是生活随笔為你收集整理的matlab compiler 与matlab coder 区别,MATLAB编译器与MATLAB编码器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java wordcount程序_Wor
- 下一篇: python 单线程_python的单线