Следующая таблица показывает, как типы данных MATLAB® соответствуют фиксированной ширине типы C++.
Типы данных фиксированной ширины
C целочисленные типы Точной Ширины | Эквивалентный тип MATLAB |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C типы с плавающей точкой | Эквивалентный тип MATLAB |
---|---|
|
|
|
|
Другие типы C | Эквивалентный тип MATLAB |
---|---|
|
|
MATLAB сопоставляет типы "не зафиксированная ширина" к соответствующей фиксированной ширине C типы, на основе используемого компилятора.
MATLAB поддерживает следующее "не зафиксированная ширина" C целочисленные типы.
short
short int
signed short
signed short int
unsigned short
unsigned short int
int
signed int
unsigned
unsigned int
long
signed long
signed long int
unsigned long
unsigned long int
long long
Следующая таблица показывает, как MATLAB преобразовывает string
и данные char
, возвращенные в C++ в типы MATLAB.
Строковые типы C++ и типы символов
Типы символов C++ | Эквивалентный тип MATLAB |
---|---|
|
|
|
|
|
|
Строковые типы C++ | Эквивалентный тип MATLAB |
---|---|
|
|
|
|
C++ пользовательские типы | Эквивалентный тип MATLAB |
---|---|
|
|
|
|
Если тип данных аргумента к конструктору класса, методу или функции является одним из этих типов, или если библиотека содержит какие-либо неподдерживаемые функции языка, то функциональность не включена в интерфейс MATLAB к библиотеке.
Любой тип с размером, больше, чем 64 бита, например, long double
wchar_t
char16_t
char32_t
intptr_t
uintptr_t
union
Неявное и явное преобразование типа
Многоуровневые указатели, такие как
и type**
type***
Указатели функции
Непрозрачные типы указателей
MATLAB сообщает относительно построений о том использовании неподдерживаемые типы. Чтобы просмотреть эти сообщения, используйте опцию 'Verbose'
в функциях clibgen.buildInterface
или clibgen.generateLibraryDefinition
.
Например, предположите, что functionName
в ClassName
задан в HeaderFile.h
. Если аргумент к functionName
имеет тип wchar_t
, то MATLAB не добавляет functionName
в файл определения. Кроме того, если 'Verbose'
является true
, то clibgen.generateLibraryDefinition
отображает следующее сообщение.
Did not add member 'functionName' to class 'ClassName' at HeaderFile.h:290. 'wchar_t' is not a supported type.