How to declare variables in C as int16/uint16/int32 etc, for S function

11 vues (au cours des 30 derniers jours)
I'm writing some C code, to compile and use as an S function in simulink.
In normal C programming, I can just declare variables to be a certain size, like
int16 x = 5;
uint32 y = 7;
But when I try that in matlab, and compile it with
mex file.c file_wrapper.c
I get an error message:
unknown type name ‘int32’
I've tried `Int32' and `int_32' and neither works.
Is there some library I need to include?
Mex gives me the following warning. Is it related to this?
Warning: You are using gcc version '5.4.0'. The version of gcc is not supported. The version currently supported with MEX is
'4.7.x'.

Réponse acceptée

Matthew Davis
Matthew Davis le 21 Août 2016
I found the answer.
  • Add tmwtypes.h as a library
  • Use `int32_T` as the type.

Plus de réponses (0)

Catégories

En savoir plus sur Write C Functions Callable from MATLAB (MEX Files) dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by