External Code Integration

Call external code from MATLAB® code

When you have external code, custom code, or legacy code developed in C/C++, you can integrate it directly into your MATLAB code. To call C/C++ functions, use the coder.ceval function. To pass data types to or from the external code that are not definable in MATLAB code, such as pointer types, FILE types for external file I/O, or other types, use coder.opaque. Configure your build to include and link to external source files, header files, object files, and libraries by using coder.updateBuildInfo. To provide an object-oriented interface to an external C library, package your function calls into a class derived from coder.ExternalDependency.

Classes

coder.ExternalDependencyInterface to external code
coder.BuildConfigBuild context during code generation

Functions

coder.cevalCall external C/C++ function
coder.refIndicate data to pass by reference
coder.rrefIndicate read-only data to pass by reference
coder.wrefIndicate write-only data to pass by reference
coder.cincludeInclude header file in generated code
coder.opaqueDeclare variable in generated code
coder.reservedNameGenerate code that does not use specified identifier names
coder.updateBuildInfoUpdate build information object RTW.BuildInfo

Topics

Call C/C++ Code from MATLAB Code

Integrate C/C++ code with MATLAB code intended for code generation.

Configure Build for External C/C++ Code

Specify source files and build parameters for external C/C++ code.

Develop Interface for External C/C++ Code

Access your external code using a class interface.

Mapping MATLAB Types to Types in Generated Code

Understand how the code generator maps MATLAB data types to data types in the generated C/C++ code.

Integrate Multiple Generated C++ Code Projects

Integrate the generated C++ code from two projects into a single larger project.

Troubleshooting

Unknown Output Type for coder.ceval

Define the output type for external C/C++ function calls.

Featured Examples