How can I make Embedded Coder use "memset" instead of enormous hard-coded constants?
2 次查看(过去 30 天)
显示 更早的评论
MathWorks Support Team
2019-6-11
编辑: MathWorks Support Team
2023-4-19
How can I make Embedded Coder use "memset" instead of enormous hard-coded constants?
I have a constant block containing an array with 100e3 elements. I have enabled "Use memset to initialize floats and doubles to 0.0", but this constant shows up as 100e3 hard-coded zeros in the "*.c" generated code file. This constant takes up more than 6000 lines of code--all zeros.
Run below command in MATLAB 2016b for documentation:
>> web(fullfile(docroot, 'simulink/gui/use-memset-to-initialize-floats-and-doubles-to-0-0.html'))
Or for latest release documentation on using memset to initialize floats and doubles to 0.0, please refer to:
采纳的回答
MathWorks Support Team
2023-4-19
编辑:MathWorks Support Team
2023-4-19
Make sure that the "Inline invariant signals" optimization has been enabled.
Run below command in MATLAB 2016b for documentation:
>> web(fullfile(docroot, 'simulink/gui/inline-invariant-signals.html'))
Or for latest release documentation on inline invariant signals, please refer to:
This setting can interact with using "memset" such that "memset" is not used unless "Inline invariant signals" has been enabled.
0 个评论
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!