MATLAB® Coder™ generates C and C++ code from MATLAB code for a variety of hardware platforms, from desktop systems to embedded hardware. It supports most of the MATLAB language and a wide range of toolboxes. You can integrate the generated code into your projects as source code, static libraries, or dynamic libraries. The generated code is readable and portable. You can incorporate your existing C code and libraries to get the ultimate efficiency for the key parts of your algorithm, or to reuse code you trust. You can also package the generated code as a MEX-function for use in the MATLAB environment for verification or acceleration.
Embedded Coder® enhances MATLAB Coder for production use with support for code customization, target-specific optimizations, code traceability, and software-in-the-loop (SIL) and processor-in-the-loop (PIL) verification.
To deploy complete applications, including the user interfaces, use MATLAB Compiler SDK™. To deploy MATLAB programs as standalone applications, use MATLAB Compiler™ and to generate software components for integration with other programming languages, use MATLAB Compiler SDK.
Learn the basics of MATLAB Coder
MATLAB language syntax and functions for code generation; data definition
C/C++ and MEX code generation, fixing errors, behavioral verification
Using and running the generated C/C++ code
Reduce code generation time, improve execution speed, reduce memory usage of generated code
Acceleration using generated MEX functions
Fixed-point conversion, single-precision conversion (requires Fixed-Point Designer™)
Generate C++ code for deep learning neural networks (requires Deep Learning Toolbox™)
Support for third-party hardware
Software is inherently complex and is not free of errors. The output of a code generator might contain bugs, some of which are not detected by a compiler. MathWorks reports critical known bugs brought to its attention on its Bug Report system at www.mathworks.com/support/bugreports/. In the search bar, type the phrase "Incorrect Code Generation" to obtain a report of known bugs that produce code that might compile and execute, but still produce wrong answers. To save a search, click Save Search.
The bug reports are an integral part of the documentation for each release. Examine periodically all bug reports for a release, as such reports may identify inconsistencies between the actual behavior of a release you are using and the behavior described in this documentation.
In addition to reviewing bug reports, you should implement a verification and validation strategy to identify potential bugs in your design, code, and tools.