C/C++ code generation is the core functionality of MATLAB®
Coder™. Generate code from the app, which you can open with
coder, or from the command line, by
codegen function. The app provides
step-by-step guidance through the code generation process, including guidance for
best practices, and clear visual aids for the code generation settings and options.
The command line workflow enables simple, repeatable, and efficient initiation of
code generation. The code generation workflow supports many different data types,
including variable-size data and global data. The workflow also supports multiple
entry-point (top-level) functions, multisignature MEX function generation, and
customization of fundamental properties such as the array layout and array indexing
of the generated code. In addition, you can generate code that uses key C++ language
features such as classes, namespaces, and function overloading.
|Open MATLAB Coder app|
|Generate C/C++ code from MATLAB code|
|Determine if code generation target is specified target|
|Control code generation from protected MATLAB files|
|Create MATLAB Coder code generation configuration objects|
|Declare a function as extrinsic and execute it in MATLAB|
MATLAB Programming for Code Generation
External Code Integration
|Call external C/C++ function|
|Include header file in generated code|
|Name C structure type in generated code|
|Declare variable in generated code|
|Indicate data to pass by reference|
|Indicate read-only data to pass by reference|
|Indicate write-only data to pass by reference|
Generating Code Basics
- Code Generation Workflow
Generate C/C++ code from MATLAB code.
- Generate C Code by Using the MATLAB Coder App
Generate C/C++ code from MATLAB code by using the MATLAB Coder app.
- Generate C Code at the Command Line
Generate C/C++ code from MATLAB code by using the
- C++ Code Generation
Understand code generation considerations specific to C++.
- Set Up a MATLAB Coder Project
Set up a project in the MATLAB Coder app.
Switch Between Command Line and Project Workflows
- Convert codegen Command to Equivalent MATLAB Coder Project
codegencommand with the
- Convert MATLAB Coder Project to MATLAB Script
Generate code at the command line by using project settings.
- Share Build Configuration Settings
Export project settings to a code generation configuration object or import the settings into a project.
- Generate Code for Multiple Entry-Point Functions
Generate C/C++ code for multiple entry-point functions.
- Generate One MEX Function for Multiple Signatures
Generate one MEX function for multiple signatures.
- Pass an Entry-Point Function Output as an Input
Simplify input type specification for multiple entry-point functions.
- Generate Code That Uses Row-Major Array Layout
Generate C/C++ code with row elements stored contiguously in memory.
- Generate Code That Uses N-Dimensional Indexing
Preserve array dimensions in generated code.
Extended C++ Functionality
- Generate C++ Code with Class Interface
Generate C++ code that is packaged into a class.
- Generate C++ Classes for MATLAB Classes
Generate a C++ class for a value class, handle class, or System object™ in your MATLAB code.
- Use Dynamically Allocated C++ Arrays in Generated Function Interfaces
Understand and use dynamically allocated arrays from the generated C++ function interfaces.
- Organize Generated C++ Code into Namespaces
Namespaces organize the generated code into logical parts and prevent name collisions.
- Reserved Keywords
Certain words in your code, that are C/C++ keywords, might be renamed in the generated code.