MATLAB: What are the real_T and int_T datatypes referenced in the Simulink template CMEX S-function

cmexdatatypesint_treal_ts-functionsimulink

I was looking at sfuntmpl.c and saw that these data types are used exclusively in this file and in your examples. I would like to know if I have to define my variables in this matter, or if I can use double, int, and the other C types.

Best Answer

You do not have to use int_T or real_T anywhere in your CMEX file. We recommend that you use these type definitions, which are defined in the header file tmwtypes.h. This allows greater platform independence in your MEX-file. Using real_T allows you to switch between different data types for 16,32,64 bit systems, allowing more flexibility.
However, you do not have to use these definitions at all in your model. For example, you can edit the Simulink example S-function csfunc.c located in $MATLABROOT/simulink/src. On a PC, you can change all of the real_T to double and all of the int_T to int, compile the S-function, and it will behave the same way.