Main Content

defineOutput

类: clibgen.FunctionDefinition
包: clibgen

添加 C++ 包函数的输出参数定义

语法

defineOutput(funcDef,argName,mltype)
defineOutput(funcDef,argName,mltype,shape)
defineOutput(___,argDesc)
defineOutput(___,'DeleteFcn',deleteFcn)

说明

defineOutput(funcDef,argName,mltype) 为 C++ 包函数添加输出参数定义。

defineOutput(funcDef,argName,mltype,shape) 提供有关数据维度的信息。

defineOutput(___,argDesc) 添加参数说明,并且可以在上述语法中包含任何输入参数。

defineOutput(___,'DeleteFcn',deleteFcn) 指定 C++ 库 deleter 函数来管理参数的内存。

输入参数

全部展开

函数定义,指定为 clibgen.FunctionDefinition 对象。

C++ 输出参数名称,指定为字符串标量或字符向量。

MATLAB® 类型,指定为字符串标量或字符向量。有关详细信息,请参阅 Define Missing MLTYPE Parameter

MATLAB 用于定义数据维度的维度定义,指定为字符串向量、标量文本、正整数向量、"nullTerminated" 或元胞数组。对于元胞数组,元素是标量文本和正整数标量的组合。有关详细信息,请参阅 Define Missing SHAPE Parameter

如果可以将参数维度定义为固定标量值,请输入数字,例如 5

如果维度由另一个参数定义,则以字符串形式输入参数名称。例如,假设有以下 C++ 签名。如果参数 len 定义 data 的长度,则 Shape 的值为 "len"

myFunc(const int *data, int len)

如果参数的大小由数组定义,则 Shape 的值为下列值之一:

  • 1

  • 固定维度:输入数值数组,例如 [5,2]

  • 可变维度:输入由参数名称组成的字符串数组,例如 ["row","col"]

如果参数的 C++ 类型是字符串,则使用这些选项为 MATLABTypeShape 参数选择值。

C++ 类型MATLABTypeDIRECTIONSHAPE 的选项
char*a

"int8"

"input"

标量值
标量值构成的数组

char**
char*[]

"string"

"input"向量
const char*

"char"

 

标量值
标量值构成的数组

"string"

"input"

"nullTerminated"

const char**
const char*[]

"char"

"input"

标量值
标量值构成的数组

"string"

"input"

"nullTerminated"

a These types are equivalent to MATLAB char:

  • wchar_t

  • char16_t

  • char32_t

有关详细信息,请参阅C++ to MATLAB Data Type Mapping

C++ 参数说明,指定为字符串标量或字符向量。

删除函数,指定为字符串标量或字符向量。Deleter 可以是 C++ 标准 delete 操作符或用户定义的函数。如果 C++ 返回类型是 void*,则 deleteFcn 必须为用户定义的函数。如果函数返回指针,则 MATLAB 取得所有权并管理由参数表示的内存的生命周期。如果未指定 deleteFcn,则库负责管理内存。

如果为删除函数指定库函数,则该函数不会包含在接口中,用户无法从 MATLAB 调用该函数。MATLAB 用户调用 MATLAB delete 函数,该函数调用由 deleteFcn 指定的函数。

示例: 'DeleteFcn','objFree'

版本历史记录

在 R2019a 中推出