¿Cuál es la diferencia entre los dos?

Tal y como yo lo entiendo, Compilador de MATLAB ajusta el código de MATLAB en una .archivo exe, de manera que se puede utilizar sin necesidad de instalar MATLAB, y sólo requiere que el MCR. En la parte superior de MATLAB Builder NE puede también ser utilizado para producir .Neto de las asambleas para ser utilizado .Net framework en lugar de la .archivo exe, pero que todavía requieren de MCR.

Ahora no entiendo lo de MATLAB Coder y para que sirve? Genera C/C++ de código. Pero es el código de MATLAB realmente convertida en C/C++, o está simplemente envasados como en el caso de MATLAB Compiler? ¿También es necesario que el MCR para correr?

Entiendo que esto no es exactamente una programación de que se trate. Pero he buscado en internet y todavía no he encontrado una respuesta clara. Estos son muy caros los productos, así que me gustaría saber en qué me estoy metiendo.

  • Esta pregunta sería una oportunidad perfecta para que los usuarios actualizar y editar la etiqueta de wikis para matlab coder y matlab compiler. Esto último parece ser genéricas y específicas a Matlab sí mismo.
  • Buen punto, he editado el matlab compiler etiqueta. Ambos son todavía un poco conciso, pero no tengo nada mejor.
InformationsquelleAutor Win Coder | 2013-08-08

3 Comentarios

  1. 62

    MATLAB Compiler cifra y los archivos de su código de MATLAB (que permanece como MATLAB .m código), y los paquetes en una fina ejecutable (cualquiera de los dos .exe o .dll) de la envoltura. Este es entregado al usuario final, junto con el MATLAB Compiler Runtime (MCR). Si lo desea, el MCR puede ser empaquetado en el ejecutable así.

    El MCR es de libre distribución, y usted puede pensar en él como esencialmente una copia de MATLAB sin un front-end desktop.

    Cuando el usuario ejecuta el archivo ejecutable, dearchives y descifra el código de MATLAB, y se ejecuta en contra de la MCR en lugar de MATLAB. Aplicaciones que se entregan a través de este método por lo tanto debe ejecutar exactamente el mismo que en MATLAB (incluyendo a la misma velocidad).

    MATLAB Coder convierte en un subconjunto del lenguaje MATLAB a C código. Esto puede ser utilizado de muchas maneras diferentes, incluyendo de ser traído de vuelta en MATLAB como un archivo mex, compilado con un compilador de C para ser llamada desde otra aplicación, o entregado a un dispositivo embebido. Ya que es de código C en lugar de código de MATLAB, que a menudo (aunque no siempre) se ejecutan mucho más rápido que el original código de MATLAB. El código de C no requiere de la MCR. La apoyó subconjunto del lenguaje MATLAB es muy extensa, pero hay algunas restricciones importantes que usted desee ver en antes de comprometerse a este flujo de trabajo. El código generado es el código C, aunque puede producir un contenedor de C++ si usted tiene una necesidad de utilizar un compilador de C++ en lugar de un compilador de C.

    MATLAB Compiler está pensada para el caso de uso que usted simplemente quiere y (bastante) de forma directa compartir un programa MATLAB que has escrito con alguien que no tiene una copia de MATLAB. Desde la implementación del .m código de cifrado, también puede ser utilizado para compartir código de MATLAB, mientras que la protección de la propiedad intelectual.

    MATLAB Coder tiene otros casos de uso, tales como querer acelerar el código de MATLAB mediante la conversión de un archivo mex, o la necesidad de producir código C para otra aplicación o un dispositivo embebido.

    Si usted tiene preguntas más detalladas, de verdad que me recomiendan que usted acaba de llamar MathWorks y preguntarles a ellos.


    Editar: La información anterior es correcta para las versiones de MATLAB R2014b y abajo. Como de MATLAB R2015a, la funcionalidad de MATLAB Compiler ha sido remezclada con la funcionalidad de la MATLAB Builder productos, y también hay un nuevo producto MATLAB Compiler SDK.

    Como de R2015a, MATLAB Compiler funciona de la misma manera como se describió anteriormente (es decir, codificar, archivar y paquete, pero no la producción de C), pero ahora paquete .exe, y como un complemento de Excel (.xla). Antes de R2015a, esta funcionalidad se utiliza para estar presente en el producto MATLAB Builder EX para Excel.

    Como de R2015a, MATLAB Compiler ya no se produce .dll componentes. Esta funcionalidad ha sido trasladado a un nuevo producto MATLAB Compiler SDK, que también incluye la funcionalidad para producir .NETO de las asambleas y de las clases de Java. Antes de R2015a, esta funcionalidad se utiliza para estar presentes en los productos MATLAB Builder NE .NET y MATLAB Builder JA para Java.

    En otras palabras:

    En R2014b y a continuación, hemos tenido:

    MATLAB Compiler: producir .exe y .dll componentes

    MATLAB Builder NE .NET: producir .NET asambleas

    MATLAB Builder JA para Java: producir clases de Java

    MATLAB Builder EX para Microsoft Excel: producir complementos de Excel.

    En R2015a, tenemos:

    MATLAB Compiler: producir .exe y complementos de Excel

    MATLAB Compiler SDK: producir .dll, .NETO de las asambleas y de las clases de Java.

    El ámbito de aplicación y casos de uso de MATLAB Coder no han cambiado a través de estas versiones (aunque hay nuevas características).


    Editar: Como de R2015b, MATLAB Compiler SDK también produce los paquetes de Python.


    Información adicional sobre la distinción de MATLAB Coder y MATLAB Compilador de C/C++ se puede encontrar aquí.

    Tabla de comparación de los diferentes MATLAB Productos para la generación de código.

    • Gran respuesta, y gracias por el R2015a editar!
    • Rawal le sucede que tiene toda la información para el nuevo 2016a versión? Lo que tiene ya es suficiente, pero me pregunto si de 2016 producido ninguna nueva información.
    • ¿Cuál es la información sobre la capacidad de disponer de cifras y GUIs compilar?
    • Usted puede compilar aplicaciones GUI que se utilice la figura de windows.
  2. 2

    MATLAB Compiler SDK proporciona las bibliotecas compartidas que se ejecuta en MATLAB Runtime (MCR). Es compatible con la mayoría de las funciones en MATLAB, incluyendo gráficos, y protege su propiedad intelectual mediante el cifrado de su código de MATLAB.

    MATLAB Coder, por otro lado, proporciona legible y portátil de código fuente. Soporta un subconjunto del Lenguaje MATLAB se centró en los algoritmos de la realización de cálculos numéricos.

    Este MATLAB Respuestas entra en más detalles de la comparación de estos dos enfoques:

    http://www.mathworks.com/matlabcentral/answers/223937-should-i-use-matlab-compiler-sdk-or-matlab-coder-to-integrate-my-matlab-applications-with-c-c

    Por ejemplo, MATLAB Compiler SDK puede ser implementado sólo para las plataformas de apoyo de MATLAB (Windows, Mac, Linux), mientras que MATLAB Coder genera código C que se pueden ejecutar en cualquier plataforma compatible con el código C.

    También, el paquete de código de MATLAB Compiler SDK está cifrado para proteger la propiedad intelectual, mientras que la generada en C código de MATLAB Coder pueden ser protegidos de la misma manera escritas a mano C código está protegido.

    También vale la pena destacar que genera código C a partir de MATLAB Coder tiene el potencial de acelerar la ejecución, mientras que el paquete de código de MATLAB Compiler SDK de correr tan rápido como lo hace en MATLAB.

  3. 0

    Yo no soy un experto, pero la Programacion es descrito como la generación de independiente C/C++ de código, sin hacer mención de la MCR. Noto, sin embargo, que dice que sólo admite un «subconjunto» de el lenguaje Matlab, que usted puede leer más acerca de aquí. El Compilador parece justo paquete de seguridad de su código de Matlab como usted sugiere, así que probablemente es compatible con la mayoría de características.

Dejar respuesta

Please enter your comment!
Please enter your name here