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.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