Embedded Coder give uncompilable code using dynamic arrays

조회 수: 3 (최근 30일)
Marcus Mårdberg
Marcus Mårdberg 2020년 9월 14일
답변: Ryan Livingston 2020년 9월 25일
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
Glenn
Glenn 2020년 9월 22일
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 2020년 9월 24일
Hi Glenn,
Can you help us reproduce the issue so that we can fix it and/or offer a workaround.
Thanks,
Sumit.

댓글을 달려면 로그인하십시오.

답변 (1개)

Ryan Livingston
Ryan Livingston 2020년 9월 25일
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

카테고리

Help CenterFile Exchange에서 Deployment, Integration, and Supported Hardware에 대해 자세히 알아보기

제품


릴리스

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by