Embedded Coder give uncompilable code using dynamic arrays

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 Commenti

Hey Marcus,
Can you share the piece of code resulting in error during the compilation for MATLAB Coder?
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}
Hi Glenn,
Can you help us reproduce the issue so that we can fix it and/or offer a workaround.
Thanks,
Sumit.

Accedi per commentare.

Risposte (1)

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

Prodotti

Release

R2019b

Richiesto:

il 14 Set 2020

Risposto:

il 25 Set 2020

Community Treasure Hunt

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

Start Hunting!

Translated by