主要内容

C + +马铃薯数据类型映射

这些表显示了Matlab的方式®将C/ c++数据转换为等效的MATLAB数据类型。MATLAB在创建库定义文件时使用这些映射。利用这些信息来帮助你定义MATLAB签名的缺失信息

数值类型

固定宽度整数数据类型

这些类型映射独立于平台和编译器。有关基于编译器的整数类型,请参见非固定宽度整数类型

对于这些类型,请指定方向作为“输入”形状作为1

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

非固定宽度整数类型

MATLAB支金宝app持这些非固定宽度的C整数类型。基于所使用的编译器,MATLAB将这些类型映射到相应的固定宽度C类型,如数值类型固定宽度整数数据类型表。

  • 短的

  • 短整型

  • 签署了短

  • 签署了短整型

  • 无符号短

  • 无符号短整型

  • 符号整数

  • 无符号

  • unsigned int.

  • 长期签名

  • 签名长期

  • 无符号长

  • 无符号长整型

  • 很久很久

STD :: Vector 整数类型

这个表显示了MATLAB数据类型对应std::向量类型。默认情况下,Matlab代表std::向量类型与MATLABclib.array类型。有关更多信息,请参见用于c++数组的MATLAB对象

对于这些类型,请指定方向作为“输入”形状作为1.有关使用元素类型的信息,请参见用于c++数组的MATLAB对象

c++STD :: Vector 整数类型

相当于MATLABclib.array类型libname.

元素类型

STD :: Vector

clib.array。libname..SignedChar

clib。libname..SignedChar

std::向量< uint8_t >

clib.array。libname.。无符号字符

clib。libname.。无符号字符

STD :: Vector

clib.array。libname..Short 

clib。libname..Short 

STD :: Vector

clib.array。libname..UnsignedShort 

clib。libname..UnsignedShort 

std::向量< int32_t >

clib.array。libname.相关性

clib。libname.相关性

std::向量< uint32_t >

clib.array。libname..unsignedint

clib。libname..unsignedint

std::向量< int64_t >

clib.array。libname..LongLong 

clib。libname..LongLong 

std ::矢量

clib.array。libname..UnsignedLongLong 

clib。libname..UnsignedLongLong 

浮点类型

对于这些类型,请指定方向作为“输入”形状作为1

C浮点类型 相当于MATLAB类型

漂浮

单身的

双倍的

双倍的

c++STD :: Vector 浮点类型

相当于MATLABclib.array类型libname.

元素类型一个

STD :: Vector

clib.array。libname.。单身的

clib。libname.。单身的

std :: vector

clib.array。libname.。双倍的

clib。libname.。双倍的

一个有关使用元素类型的信息,请参见用于c++数组的MATLAB对象

字符串和字符类型

这些表显示C ++的方式细绳char数据类型对应于MATLAB数据类型。数据映射取决于如何在函数中使用类型作为输入参数、输出参数或数据成员。例如,这些函数定义显示了类型的不同用法T

void fnc(t);// t是参数类型/输入污染t fnc();// t是返回类型/输出参数

普通C ++字符和字符串类型

对于这些类型,请指定方向作为“输入”形状作为1

Plain c++字符类型 相当于MATLAB类型

char

int8

签名字符

int8

无符号字符

uint8.

wchar_t

char

char16_t

char

char32_t.

char

普通C ++字符串类型 相当于MATLAB类型

std:: string

细绳
(MATLAB将字符转换为平台默认编码std:: string.)

std :: wstring.

细绳

std:: u16string

细绳

std:: u32string

细绳

c++char类型

c++char输入参数类型 mltype. 形状

char

“int8”

  • 标量值

  • 标量值数组

wchar_t *
char16_t *
char32_t *
“char”
  • 标量值

  • 标量值数组

c++char返回类型 mltype. 形状

char

“字符串”

“nulltermited”

  • “clib.array.lib.char”

  • “int8”

  • “char”

  • 标量值

  • 标量值数组

wchar_t *
char16_t *
char32_t *

“字符串”

“nulltermited”

“char”

  • 标量值

  • 标量值数组

c++char数据成员类型 相当于MATLAB类型

char

  • 细绳

  • clib.array.lib.Char

  • int8

  • char

wchar_t *
char16_t *
char32_t *

  • 细绳

  • char

c++const char *类型

c++const char *类型 相当于MATLAB类型

const char *

  • 细绳

  • clib.array.lib.Char

  • int8

  • char

wchar_t *
char16_t *
char32_t *

  • 细绳

  • char

c++char * *类型

MATLAB不支持c++金宝appchar * *返回类型。

c++char * *输入参数类型 mltype. 形状一个
char * * “字符串” 标量值“nullTerminated”)
char * [] “字符串” 标量值“nullTerminated”)

一个1D阵列字符串。第一个元素是数组的大小,最后一个元素是每个元素的形状。

c++char * *数据成员类型 相当于MATLAB类型
char * *

细绳

char * []

细绳

c++const char **类型

MATLAB不支持c++金宝appconst char **返回类型。

c++const char **输入参数类型 mltype. 形状一个
const char **

“字符串”

标量值“nullTerminated”)
const char * []

“字符串”

标量值“nullTerminated”)

一个1D阵列字符串。第一个元素是数组的大小,最后一个元素是每个元素的形状。

c++const char **数据成员类型 相当于MATLAB类型
const char **

细绳

const char * []

细绳

STD :: Vector 字符串类型

对于这些类型,请指定方向作为“输入”

c++STD :: Vector 字符串类型

相当于MATLABclib.array类型libname.

元素类型一个

std::向量< std:: string >

clib.array。libname..std.string. 

clib。libname..std.string. 

std::向量< std:: wstring >

clib.array。libname..std.wString 

clib。libname..std.wString 

STD :: Vector

clib.array。libname..std.u16string. 

clib。libname..std.u16string. 

STD :: Vector

clib.array。libname..std.u32String 

clib。libname..std.u32String 

一个有关使用元素类型的信息,请参见用于c++数组的MATLAB对象

BOOL.类型

对于这些类型,请指定方向作为“输入”形状作为1

BOOL.类型 相当于MATLAB类型

BOOL.

逻辑

STD :: Vector BOOL.类型

相当于MATLABclib.array类型libname.

元素类型一个

BOOL.

clib.array。libname..bool.

clib。libname..bool.

一个有关使用元素类型的信息,请参见用于c++数组的MATLAB对象

用户定义的类型

这些表显示了如何在MATLAB接口中调用一个c++用户定义类型到库libname.

对于这些类型,请指定方向作为“输入”形状作为1

C ++用户定义类型 相当于MATLAB类型

结构体StructName

libname.StructName

枚举eNumn.

libname.eNumn.

c++类的类型

相当于MATLABclib.array类型libname.

STD :: Vector

clib.array。libname..T

std::向量T [] > <

clib。libname..T

std :: shared_ptr

clib.array。libname..T

nullptr参数类型

nullptr输入参数类型

MATLAB提供了一个clib.type.nullptr.类型,这样你就可以将NULL传递给带有以下c++输入参数类型的函数:

  • 指向对象的指针。但是,不支持指向基本MATLAB数组类型的指针。金宝app

  • 要查看

  • 数组

clib.type.nullptr.这些MATLAB金宝app参数类型支持类型:

  • 标量对象指针

  • cl数组

nullptr返回类型

C ++接口返回特定类型的返回函数的值nullptr

  • 对于类型双倍的, MATLAB返回[]的价值双人..空

  • 对于所有其他基本类型,Matlab返回一个mltype.空虚价值。确定mltype.,查找本主题表中的C或C ++类型。mltype.在里面相当于MATLAB类型柱子。

    测试nullptr类型,打电话给isempty函数。

  • 对于非基本类型,Matlab返回一个nullptr对象。测试nullptr对象,打电话给clibIsNull函数。

空白*参数类型

通过空白*与c++函数之间的参数,参见使用void *参数.MATLAB不支持金宝app空白*数据成员。

当通过一个空白*输入参数,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

浮*

单身的

双倍的*

双倍的

BOOL *

逻辑

clib.array类型映射

c++类型

相当于MATLABclib.array类型libname.

char

clib.array。libname..Char

签署char *

clib.array。libname..SignedChar

unsigned char *

clib.array。libname.。无符号字符

短*

clib.array。libname..Short 

无符号短*

clib.array。libname..UnsignedShort 

int *

clib.array。libname.相关性

unsigned int *

clib.array。libname..unsignedint

长*

clib.array。libname..Long

毫无符号长*

clib.array。libname..unsignedlong

长长*

clib.array。libname..LongLong 

毫无符号长*

clib.array。libname..UnsignedLongLong 

浮*

clib.array。libname..Float

双倍的*

clib.array。libname.。双倍的

BOOL *

clib.array。libname..bool.

标准库中c++类和结构的类型

c++类型

等效MATLAB类型libname.

MyClass clib。libname.MyClass

typedef void *映射

c++类型

等效MATLAB类型libname.

typedef void *处理 clib。libname.处理

不支金宝app持的数据类型

如果在类构造函数,方法或函数中的参数/返回类型的数据类型是其中之一,或者库包含任何不受金宝app支持的语言特征,则该功能不包含在MATLAB接口库中。

  • 例如,任何尺寸大于64位的类型长双

  • 字符类型数组(wchar_tchar16_tchar32_t.

  • 例如,引用指针int (* &

  • 的指针或数组std:: string

  • 指向枚举的指针或引用

  • 参考数据成员

  • 空白*数据成员

  • 性病非智能指针std::要

  • 静态数据成员

  • Arunachal Pradesh,指针,除了:

    • Matlab支金宝app持char * *

    • Matlab支金宝app持Arunachal Pradesh,指向用作函数或方法参数类型的自定义类。

  • 多级指针,如类型***

  • C函数指针和std::函数作为函数返回类型或数据成员。您也无法将MATLAB函数传递为C函数指针或std::函数范围。

  • 课程模板,具有不完整或无法实例化

  • 联盟

  • 定义的类型性病命名空间,除了这些受支持的类型:金宝app

    • std:: string

    • std :: wstring.

    • std:: u16string

    • std:: u32string

    • std::向量

    • std::要

    • std::函数

关于不支持的类型的消息金宝app

MATLAB报告使用不支持类型的构造。金宝app要查看这些消息,请使用'verbose'选项clibgen.generatelibrarydefinition.clibgen.buildInterface.功能。

例如,假设functionName班级名称是定义的标题文件.如果是一个论点functionName是不支持的类型金宝app类型,然后matlab不添加functionName到定义文件。此外,如果'verbose'真正的,然后clibgen.generatelibrarydefinition.显示此消息。

没有在HeaderFile.h:290中添加成员'functionName'到类'ClassName'。'type'不是受支持的类型。金宝app

另请参阅

|

相关的话题