MATLAB к отображению типа данных C++

Следующая таблица показывает, как типы данных MATLAB® соответствуют фиксированной ширине типы C++.

Типы данных фиксированной ширины

C целочисленные типы Точной ШириныЭквивалентный тип MATLAB

int8_t

int8

uint8_t

uint8

int16_t

int16

uint16_t

uint16

int32_t

int32

uint32_t

uint32

int64_t

int64

uint64_t

uint64

C типы с плавающей точкойЭквивалентный тип MATLAB

float

single

double

double

Другие типы CЭквивалентный тип MATLAB

bool

logical

Целочисленные типы "не фиксированная ширина"

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

char

int8
const char *

signed char

int8

unsigned char

uint8

Строковые типы C++Эквивалентный тип MATLAB

std::string

string, символы ASCII только

const char *

string

Пользовательские типы

C++ пользовательские типыЭквивалентный тип MATLAB

struct StructName

libname.StructName

enum EnumName

libname.EnumName

Неподдерживаемые типы данных

Если тип данных аргумента к конструктору класса, методу или функции является одним из этих типов, или если библиотека содержит какие-либо неподдерживаемые функции языка, то функциональность не включена в интерфейс 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.

Смотрите также

|

Для просмотра документации необходимо авторизоваться на сайте