MATLAB Answers

0

Why is the preprocessor check #if ( UCHAR_MAX != (0xFFU) ) || ( SCHAR_MAX != (0x7F) ) being generated in private.h?

This question was flagged by Walter Roberson
In the generated code for my model, I have noticed that the following code is generated in the "model_private.h" file:
#if ( UCHAR_MAX != (0xFFU) ) ( SCHAR_MAX != (0x7F) )
#error Code was generated for compiler with different sized uchar/char. \
Consider adjusting Test hardware word size settings on the \
Hardware Implementation pane to match your compiler word sizes as \
defined in limits.h of the compiler. Alternatively, you can \
select the Test hardware is the same as production hardware option and \
select the Enable portable word sizes option on the Code Generation > \
Verification pane for ERT based targets, which will disable the \
preprocessor word size checks.
#endif
Why is this code being generated?

Tags

No tags entered yet.

Products


Release

R2013b

2 Answers

Answer by MathWorks Support Team on 25 Apr 2019
 Accepted Answer

The above code is being generated because a signal or block with a fixed point data type is being used in your model. Please refer to the link for more details.

  0 Comments

Sign in to comment.


Answer by Mayur Sathawane on 22 May 2019

Change below porperty in model configuration,
'ERTFilePackagingFormat' to 'Modular', (Code Generation --> Code Placement --> Code Packaging)
This will include model_private.h in code instead.

  0 Comments

Sign in to comment.