MATLAB: How to invoke C++ executable file (.exe) from Matlab code or Simulink

c

I am trying to run a C++ executable file (.exe) from matlab or Simulink. Currently I have to run the ++ executable file (.exe) manually and start the simulation in matlab environment to start the data exchange between matlab and C++ code. Is there any easier way to automate the process? Eg- I can just run matlab/Simulink and the C++ executable file (.exe) is invoked.
Operating system – Windows10
Matlab – 2017a/b
User Datagram Protocol (UDP) is used between matlab and C++

Best Answer

As Walter suggested you can use .Net System.Diagnostic.Process to run it.
This way you will also be able to terminate the program.
process = System.Diagnostics.Process();
process.StartInfo.FileName = 'java.exe';
process.StartInfo.Arguments = 'some args';
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardInput = false;
process.StartInfo.CreateNoWindow = false;
process.Start();
processisrunning = ~process.HasExited;
You can then close it as follows
process.Close();
% or
process.CloseMainWindow();
% or terminate immediately
process.Kill();
Related Question