I will mention that the code compiles to .mex just fine using R2024b. It's only when compiling to C/C++ where the compiler runs away, uses all memory, then errors our.
R2024b Codegen runs out of memory. R2018a compiles to .mex and .C++ without issues.
14 次查看(过去 30 天)
显示 更早的评论
I have cut down a code base to a single function that compiles to .mex and to .cpp just fine using R2018a. However, using R2024b (which I just got), the compiler runs a long time, but eventually runs out of memory and errors out.
I have looked at the coder.config('mex') and coder.config('lib') outputs for both versions, and I don't see anthing obvious.
I have attached the short test bench I used: RxTB.m, the .mat file it loads (OFDMRxSave.mat), and the problemmatic code, OFDMRxR1.m
Again, this compiles fine under R2018a, but fails using R2024b, with no changes to anything, including the .prj file. However, I cannot attach the .prj file, because the file type is not allowed by this APP.
回答(1 个)
Subhajyoti
2024-10-22,8:25
编辑:Subhajyoti
2024-10-22,8:27
It is my understanding that you are able to generate the MEX files for your code. But when you are trying to generate C/C++ files, it is throwing out of memory error.
This error is due to implicit expansion operation occurring during run-time.
Refer to following MathWorks Documentation link to know more about ‘Optimize Implicit Expansion in Generated Code’ in MATLAB:
While generating MEX file, the MATLAB Coder generates C or C++ files (as mentioned in code-generation parameter) and the MEX file acts like an API between MATLAB and the C/C++ file. You can also use these C/C++ files directly as a workaround for code-generation error. The C/C++ build files are generated in the following path:
./codegen/mex/OFDMRxR1/
Additionally, you can refer to the following resources to know more about Analysis and Generation of C/C++ Code from MATLAB Code Using "MATLAB Coder":
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!