FileID pass as function argument for Matlab Coder gen

5 visualizaciones (últimos 30 días)
Lukai Cai
Lukai Cai el 28 de Feb. de 2018
Comentada: Denis Gurchenkov el 28 de Feb. de 2018
I need to generate a function with FileID as argument. The matlab code looks like this:
outfileId = fopen('test_c.csv', 'w'); func1(outfileId);
when generate the C++ using Matlab Coder, it automatically recognize the argument type as double. And the generated C++ is something like this: func1(double outfileId){ FILE * filestar; getfilestar(outfileId, &filestar, &autoflush); .. using filestar for file processing. }
My question is: how do I assign the value when I call func1 in my manually modeled C++. (e.g. need reverse function of getfilestar).
( Currently, I manually update the generated code by commenting out getfilestar and directly passing filestar as argument. And it works)
Thanks a lot!
  1 comentario
Denis Gurchenkov
Denis Gurchenkov el 28 de Feb. de 2018
Likai, if you want to call func1 from your hand-written C++ code, then you should have two entry-point matlab functions when generating code. One function would return the double that corresponds to file handle, and the other one would take a double as an input, and call func1.
So your C++ code first calls the first entry point to open the file, gets the double value, and then passes it to the 2nd entry pont.

Iniciar sesión para comentar.

Respuestas (0)

Categorías

Más información sobre MATLAB Coder en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by