Why is code generation behavior different in 2018b for the "max" function?
조회 수: 5 (최근 30일)
이전 댓글 표시
MathWorks Support Team
2019년 1월 8일
답변: MathWorks Support Team
2019년 4월 18일
I am using MATLAB Coder to generate C code for a Script which calls the "max" function. In 2018a, the generated code would contain an if-else condition to implement the "max" operation, but in 2018b it calls the "fmaxf" function. How do I revert to the earlier code generation behavior?
채택된 답변
MathWorks Support Team
2019년 4월 19일
In 2018b, the default standard math library changed to "C99 (ISO)", hence the code generator makes the call to the "fmaxf" function which resides in the same library.
To return to the earlier code generation behavior, please change the standard math library to "C89/90 (ANSI)" in the following manner:
>> cfg = coder.config('dll');
>> cfg.TargetLangStandard = 'C89/C90 (ANSI)';
>> codegen myScript -config cfg -args {1 2 3} % replace the script name and args list accordingly
If you are using the MATLAB Coder App, this option will be found in the Generate Code step under More Settings > Custom Code > Code Replacement Libraries > Standard math library.
댓글 수: 0
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!