2013-01-11 15 views
16

Program MATLAB udostępnia zestawy narzędzi (Matlab Coder, kompilator Matlab, koder Simulink) do generowania kodów źródłowych C i C++ dla wbudowanej funkcji. Zastanawiam się, czy istnieje zestaw narzędzi lub funkcja do generowania kodu źródłowego java (nie zaszyfrowane pliki JAR/klasy) dla kodu Matlab/wbudowane funkcje?Czy Matlab może generować kod źródłowy Java?

+3

* "Nie zaszyfrowane pliki JAR/klasy" * Są zakodowane jako pliki binarne, a nie zaszyfrowane (domyślnie). –

Odpowiedz

5

myślę, że jest to produkt, którego szukasz: MATLAB Builder JA (ale budowniczy szyfruje funkcji MATLAB i generuje otoki Java wokół nich tak, że zachowują się podobnie jak każdej innej klasy Javy.)

+0

Wydaje mi się, że działa wewnątrz środowiska wykonawczego, więc niesie za sobą obciążenie. Alternatywą jest koder matlab, który generuje kod C, który możesz wywołać za pomocą JNI. – ggb667

11

Nie ma nic który zamieni kod źródłowy MATLAB na kod źródłowy Java. Dodatkowy produkt MATLAB Builder JA zarchiwuje i zaszyfruje twój kod źródłowy MATLAB i utworzy autonomiczne opakowanie .jar, które umożliwia wywołanie kodu MATLAB z Javy, ale nie tworzy kodu źródłowego Java.

Należy zauważyć, że koder MATLAB i koder Simulink generują kod C, a nie C++, a kompilator MATLAB działa w podobny sposób jak narzędzie Builder JA, archiwizując i szyfrując kod MATLAB i tworząc plik wykonywalny.

Edit: od uwolnienia R2015b, funkcjonalności do produkcji .jar został przeniesiony z MATLAB Builder JA do nowego produktu MATLAB Compiler SDK, które również produkują pliki .dll i zespoły .NET. MATLAB Builder JA już nie istnieje jako produkt.

+0

Simulink Coder może generować C++ [link] (http://www.mathworks.com/products/simulink-coder/description1.html) – pmb

+0

@ pmb Jeśli chcesz użyć kompilatora C++, możesz to powiedzieć do MATLAB lub Simulink Coder, i utworzy plik '.cpp' z kodem C++, aby zawinąć jego kod C. Ale tak naprawdę nie tworzy właściwego kodu w C++, który na przykład używa klas. To naprawdę produkuje kod C. –

+0

prawda, nie jest to OO C++, ale mimo to C++. Po prostu pomyślałem, że może być dobrze dodać, że skoro ktoś może pomyśleć, że nie mogą używać Simulink Coder z tego powodu ... – pmb

Powiązane problemy