2013-01-11 95 views
16

MATLAB提供工具箱(Matlab編碼器,Matlab編譯器,Simulink編碼器)來生成內置函數的C和C++源代碼。我想知道是否有任何工具箱或功能生成的Java源代碼(不加密的JAR /類文件)的MATLAB代碼/內置函數?Matlab能否生成Java源代碼?

+3

*「未加密的JAR /類文件」*它們被編碼爲二進制文件,而不是加密的(默認情況下)。 –

回答

5

我認爲這是你正在尋找的產品:MATLAB Builder JA(但建設者加密您的MATLAB功能和周圍生成Java包裝,使他們的行爲就像任何其他的Java類。)

+0

我認爲它運行在運行時,所以會有開銷。另一種選擇是生成可以使用JNI調用的C代碼的matlab編碼器。 – ggb667

11

沒有什麼將MATLAB源代碼轉換爲Java源代碼。附加產品MATLAB Builder JA將歸檔並加密您的MATLAB源代碼,並創建一個獨立的.jar文件包裝器,使您可以從Java調用MATLAB代碼,但不會生成Java源代碼。

請注意,MATLAB編碼器和Simulink編碼器產生C而不是C++代碼,並且MATLAB編譯器以類似於Builder JA的方式工作,歸檔和加密您的MATLAB代碼並生成可執行的包裝器。

編輯:自發布R2015b,功能產生.jar文件已經從MATLAB生成器JA轉移到新產品MATLAB編譯SDK,這也將產生.dll文件和.NET程序集。 MATLAB Builder JA不再作爲產品存在。

+0

Simulink編碼器可以生成C++ [鏈接](http://www.mathworks.com/products/simulink-coder/description1.html) – pmb

+0

@pmb如果你想使用C++編譯器,你可以告訴MATLAB或Simulink編碼器,它將產生一個帶有C++代碼的'.cpp'文件來包裝它的C代碼。但它並不真正產生適當的C++代碼,例如,使用類。它真的生成C代碼。 –

+0

是真的,它不是OO C++,而是C++。我只是認爲這可能是很好的補充,因爲有人可能認爲他們不能使用Simulink編碼器,因爲... – pmb