Embedded Coder give uncompilable code using dynamic arrays

1 visualización (últimos 30 días)
Marcus Mårdberg
Marcus Mårdberg el 14 de Sept. de 2020
Respondida: Ryan Livingston el 25 de Sept. de 2020
Hi,
When generating C++ code an error occurs. Using dynamic arrays (not statically reserved memory) in matlab results in generated code that uses data structures of type array and b_array, where b_array is undefined. Hence, trying to use Embedded Coder with Matlab 2020a might give uncompilable code.
Appreciate any feedback and help on this issue.
Regards,
M
  3 comentarios
Glenn
Glenn el 22 de Sept. de 2020
I'm seeing the same problem. I've used a 'sed' script to simply change the 'b_array' references to 'array', and the code compiles and appears to work:
sed -i -e "s/b_array/array/g" *.{h,cpp}
Sumit Ghosh
Sumit Ghosh el 24 de Sept. de 2020
Hi Glenn,
Can you help us reproduce the issue so that we can fix it and/or offer a workaround.
Thanks,
Sumit.

Iniciar sesión para comentar.

Respuestas (1)

Ryan Livingston
Ryan Livingston el 25 de Sept. de 2020
This is a bug and has been reported to our development team. In addition to the postprocessing workaround suggested by Glenn, you can disable coder::array if you're OK using emxArrays instead:
cfg = coder.config('lib');
cfg.DynamicMemoryAllocationInterface = 'C';
codegen f -args 1 -lang:c++ -config cfg -report

Productos


Versión

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by