Is there a way to generate c code for system function which runs batch file?
5 views (last 30 days)
Show older comments
I am trying to run a batch file which eventually runs an exe file. I am trying to use system function to run this batch file.But system is not supported for code generation. Is there a way to generate c code for system function or is there a way with which I can run a batch file which will be supported by code generation?
0 Comments
Answers (1)
Walter Roberson
on 9 Jan 2018
You can coder.ceval() to call CreateProcess() and see https://msdn.microsoft.com/en-us/library/windows/desktop/ms682015(v=vs.85).aspx or the ISO _execv() https://docs.microsoft.com/en-ca/cpp/c-runtime-library/reference/execv-wexecv
In Unix systems, execv() or execvp() would often be used.
7 Comments
Walter Roberson
on 10 Jan 2018
The non-deploy branch,
y = 'C:\Users\Tester\Desktop\Release\meter_app.bat';
should also
system(y)
You should pay attention to the data type of the return value: system() at the C level returns an int, but in the non-deploy branch you have it returning a character vector. Perhaps you should change the deploy branch to
y = system('C:\Users\Tester\Desktop\Release\meter_app.bat');
I recommend changing your declaration from
int execute();
to
int execute(void);
See Also
Categories
Find more on C Code Generation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!