2013-01-11 17 views
16

MATLAB fornisce toolbox (Matlab Coder, Matlab Compiler, Simulink Coder) per generare codici sorgente C e C++ per funzioni incorporate. Mi chiedo se non ci sono toolbox o funzionalità per generare il codice sorgente java (non file JAR/classe crittografati) per il codice MATLAB/funzioni incorporate?Matlab può generare codice sorgente Java?

+3

* "file JAR/classe non crittografati" * Sono codificati come file binari, anziché crittografati (per impostazione predefinita). –

risposta

5

Credo che questo sia il prodotto che stai cercando: MATLAB Builder JA (ma il costruttore cifra le funzioni di MATLAB e genera un wrapper Java intorno a loro in modo che si comportano come qualsiasi altra classe Java.)

+0

Penso che venga eseguito all'interno di un runtime, quindi c'è un sovraccarico per questo. Un'alternativa è il codificatore matlab che genera il codice C che puoi chiamare usando JNI. – ggb667

11

Non c'è niente questo convertirà il codice sorgente MATLAB in codice sorgente Java. Il prodotto aggiuntivo MATLAB Builder JA archivierà e crittograferà il codice sorgente MATLAB e creerà un wrapper di file .jar autonomo che consente di chiamare il codice MATLAB da Java, ma non produce codice sorgente Java.

Nota che MATLAB Coder e Simulink Coder producono codice C, non C++, e che MATLAB Compiler funziona in modo simile a Builder JA, archivia e codifica il codice MATLAB e produce un wrapper eseguibile.

Edit: dal rilascio R2015b, funzionalità per la produzione di file .jar è stato spostato da MATLAB Builder JA al nuovo prodotto MATLAB Compiler SDK, che produrrà anche i file e assembly .NET dll. MATLAB Builder JA non esiste più come prodotto.

+0

Simulink Coder può generare C++ [collegamento] (http://www.mathworks.com/products/simulink-coder/description1.html) – pmb

+0

@pmb Se si desidera utilizzare un compilatore C++, è possibile indicarlo a MATLAB o Simulink Coder, e produrrà un file '.cpp' con codice C++ per avvolgere il suo codice C. Ma in realtà non produce codice C++ corretto che, ad esempio, utilizza le classi. Produce davvero codice C. –

+0

true, non è OO C++, ma C++ tuttavia. Ho solo pensato che sarebbe stato utile aggiungere che dal momento che qualcuno potrebbe pensare di non poter usare Simulink Coder per questo ... – pmb

Problemi correlati