Embedded Coder give uncompilable code using dynamic arrays

1 visualizzazione (ultimi 30 giorni)
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.
  3 Commenti
Glenn il 22 Set 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 il 24 Set 2020
Hi Glenn,
Can you help us reproduce the issue so that we can fix it and/or offer a workaround.

Accedi per commentare.

Risposte (1)

Ryan Livingston
Ryan Livingston il 25 Set 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


Scopri di più su Deployment, Integration, and Supported Hardware in Help Center e File Exchange




Community Treasure Hunt

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

Start Hunting!

Translated by