MATLAB Answers


C/C++ wrapper to invoke SIMULINK model/libraries in external software designs

Asked by Mohammed Manna on 27 Jun 2013

Is it possible to use C/C++ wrapper functions to call SIMULINK models in an external environment such as Visual Studio or eclipse C++ software project?

The reason is that any modification to the original model doesn't need to be visitble outside. The updated model can still be accessible via wrapper function.

Could someone help me?



1 Answer

Answer by Kaustubha Govind
on 28 Jun 2013

It is possible to generate a standalone C/C++ shared library from your Simulink model if you have an Embedded Coder license, which you can then invoke from any C/C++ application.

However, it looks like what you want is to continue to run the model within the MATLAB environment, correct? If so, you can write MATLAB code to run the model using the Simulink command-line API, or more specifically, the sim command if you want to execute the model without any additional operations. You can then call the MATLAB code from a C/C++ application running on the same machine by using the MATLAB Engine interface.


Firstly, thanks for your explanation. What you are saying, if I understood correctly, is that the only way to do it is by calling MATLAB scripts from within my external C/C++ project. The MATLAB script will be running the models. But how am I going to use the functionality of the models. the sim command only runs the simulation of the model. But what I am after is the ability to use the model's functionality inside my external C/C++ application without the necessity code generation. I apologise if my original question did not have sufficient clarity.

Mohammed: Could you please provide examples of the model functionality that you're looking to use?

Join the 15-year community celebration.

Play games and win prizes!

Learn more
Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!