为什么simulink c函数中的数据类型与普通c数据类型不同

why datatype in simulink c s function is different from normal c datatype

在 simulink c 函数示例中 int_T 和 real_T 用作数据类型。

如果我将它们更改为 double 和 int 它将正常工作,那么使用示例中建议的 int_T 和 real_T 的原因是什么?

数据类型在 tmwtypes.h 中定义。如果你在那里查看,你会看到(对于桌面模拟)reat_T 被定义为双精度,int_T 被定义为 int。因此,您可以互换使用它们的原因。

使用 XXX_T 而不是特定的数据类型是一种常见的约定(请参阅此讨论:What does a type followed by _t (underscore-t) represent?)。一般来说,如果需要为不同的硬件重新定义数据类型,例如,它只允许在一个位置更改数据类型,而不必在代码的任何地方都这样做实时硬件。