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

6 Ansichten (letzte 30 Tage)
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'.

Akzeptierte Antwort

Matthew Davis
Matthew Davis am 21 Aug. 2016
I found the answer.
  • Add tmwtypes.h as a library
  • Use `int32_T` as the type.

Weitere Antworten (0)

Kategorien

Mehr zu Write C Functions Callable from MATLAB (MEX Files) finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by