呼叫外部C / C ++函数gydF4y2Ba
coder.ceval (gydF4y2Ba
执行指定的外部C/ c++函数gydF4y2Bacfun_名称gydF4y2Ba
)gydF4y2Bacfun_名称gydF4y2Ba
.定义gydF4y2Bacfun_名称gydF4y2Ba
在外部C / C ++源文件或库中。将外部源,库和标头文件提供给代码生成器。gydF4y2Ba
coder.ceval (gydF4y2Ba
执行gydF4y2Bacfun_名称gydF4y2Ba
,gydF4y2Bacfun_论点gydF4y2Ba
)gydF4y2Bacfun_名称gydF4y2Ba
使用参数gydF4y2Bacfun_论点gydF4y2Ba
.gydF4y2Bacfun_论点gydF4y2Ba
逗号分隔的输入参数列表是否按照这个顺序gydF4y2Bacfun_名称gydF4y2Ba
需要。gydF4y2Ba
默认情况下,gydF4y2Ba塞瓦尔编码员gydF4y2Ba
当C/ c++支持按值传递参数时,将参数按值传递给C/ c++函数。金宝app为了使gydF4y2Ba塞瓦尔编码员gydF4y2Ba
通过引用传递参数,使用构造gydF4y2Ba编码参考gydF4y2Ba
,gydF4y2Bacoder.rrefgydF4y2Ba
,及gydF4y2Ba编码器gydF4y2Ba
.如果C/ c++不支持按值传递参数,金宝app例如,如果参数是一个数组,gydF4y2Ba塞瓦尔编码员gydF4y2Ba
通过引用传递参数。如果不使用gydF4y2Ba编码参考gydF4y2Ba
,gydF4y2Bacoder.rrefgydF4y2Ba
或gydF4y2Ba编码器gydF4y2Ba
,参数的副本可以出现在生成的代码中,以强制执行MATLABgydF4y2Ba®gydF4y2Ba数组的语义。gydF4y2Ba
coder.ceval (gydF4y2Ba
执行gydF4y2Ba“全球”gydF4y2Ba
,gydF4y2Bacfun_名称gydF4y2Ba
)gydF4y2Bacfun_名称gydF4y2Ba
并表示gydF4y2Bacfun_名称gydF4y2Ba
使用一个或多个MATLAB全局变量。然后,代码生成器可以生成与此全局变量用法一致的代码。gydF4y2Ba
coder.ceval (gydF4y2Ba
执行gydF4y2Ba“全球”gydF4y2Ba
,gydF4y2Bacfun_名称gydF4y2Ba
,gydF4y2Bacfun_论点gydF4y2Ba
)gydF4y2Bacfun_名称gydF4y2Ba
使用参数gydF4y2Bacfun_论点gydF4y2Ba
并表示gydF4y2Bacfun_名称gydF4y2Ba
使用一个或多个MATLAB全局变量。gydF4y2Ba
coder.ceval (gydF4y2Ba
执行gydF4y2Ba'-layout:rowmajor'gydF4y2Ba
,gydF4y2Bacfun_名称gydF4y2Ba
,gydF4y2Bacfun_论点gydF4y2Ba
)gydF4y2Bacfun_名称gydF4y2Ba
使用参数gydF4y2Bacfun_论点gydF4y2Ba
和传递存储在行主布局中的数据。从使用列主布局的函数调用时,代码生成器将输入转换为行主布局,并将输出转换回列主布局。对于较短的语法,请使用gydF4y2Bacoder.ceval(‘行’,…)gydF4y2Ba
.gydF4y2Ba
coder.ceval (gydF4y2Ba
执行gydF4y2Ba“-布局:columnMajor”gydF4y2Ba
,gydF4y2Bacfun_名称gydF4y2Ba
,gydF4y2Bacfun_论点gydF4y2Ba
)gydF4y2Bacfun_名称gydF4y2Ba
使用参数gydF4y2Bacfun_论点gydF4y2Ba
并传递存储在列主布局中的数据。从使用行主布局的函数调用时,代码生成器将输入转换为列主布局,并将输出转换回行主布局。对于较短的语法,请使用gydF4y2Bacoder.ceval('-col',…)gydF4y2Ba
.gydF4y2Ba
coder.ceval (gydF4y2Ba
执行gydF4y2Ba'-layout:任何'gydF4y2Ba
,gydF4y2Bacfun_名称gydF4y2Ba
,gydF4y2Bacfun_论点gydF4y2Ba
)gydF4y2Bacfun_名称gydF4y2Ba
使用参数gydF4y2Bacfun_论点gydF4y2Ba
和使用其当前数组布局传递数据,即使数组布局不匹配。代码生成器不会转换输入或输出数据的数组布局。gydF4y2Ba
cfun_return = coder.ceval(gydF4y2Ba___gydF4y2Ba)gydF4y2Ba
执行gydF4y2Bacfun_名称gydF4y2Ba
并返回单个标量值,gydF4y2Bacfun_返回gydF4y2Ba
,对应于C/C++函数在gydF4y2Ba返回gydF4y2Ba
语句。为了与C/C++保持一致,gydF4y2Ba塞瓦尔编码员gydF4y2Ba
只能返回标量值。它不能返回数组。将此选项与前面语法中的任何输入参数组合一起使用。gydF4y2Ba
你不能使用gydF4y2Ba塞瓦尔编码员gydF4y2Ba
在你声明外部的函数上gydF4y2Bacoder.extrinsicgydF4y2Ba
.gydF4y2Ba
当LCC编译器创建库时,它会在库函数名中添加一个前导下划线。如果库的编译器是LCC,而代码生成编译器不是LCC,则必须在函数名后加上前导下划线,例如:gydF4y2Ba编码员:ceval(“mylibfun”)gydF4y2Ba
。如果库的编译器不是LCC,则不能使用LCC从调用该库函数的MATLAB代码生成代码。这些库函数名称没有LCC编译器要求的前导下划线。gydF4y2Ba
如果属性具有get方法、set方法或验证器,或者是具有某些属性的System对象™属性,则不能通过引用将属性传递给外部函数。看到gydF4y2Ba某些属性不支持通过引用传递金宝appgydF4y2Ba.gydF4y2Ba
对于代码生成,请在主叫之前gydF4y2Ba塞瓦尔编码员gydF4y2Ba
,必须指定返回值和输出参数的类型,大小和复杂性数据类型。gydF4y2Ba
应用gydF4y2Ba塞瓦尔编码员gydF4y2Ba
对于接受或返回MATLAB代码中不存在的变量(如指针)的函数,gydF4y2Ba文件gydF4y2Ba
文件I / O的类型,以及C / C ++宏,使用gydF4y2Ba不透明编码器gydF4y2Ba
函数。gydF4y2Ba
使用gydF4y2Ba塞瓦尔编码员gydF4y2Ba
仅在MATLAB中进行代码生成。gydF4y2Ba塞瓦尔编码员gydF4y2Ba
在未编译的MATLAB代码中产生错误。要确定一个MATLAB函数是否在MATLAB中执行,请使用gydF4y2Bacoder.targetgydF4y2Ba
.如果函数在MATLAB中执行,调用C/ c++函数的MATLAB版本。gydF4y2Ba
编码基因gydF4y2Ba
|gydF4y2Ba编码器。ExternalDependencygydF4y2Ba
|gydF4y2Bacoder.columnMajorgydF4y2Ba
|gydF4y2Bacoder.extrinsicgydF4y2Ba
|gydF4y2Ba不透明编码器gydF4y2Ba
|gydF4y2Ba编码参考gydF4y2Ba
|gydF4y2Ba罗梅杰编码员gydF4y2Ba
|gydF4y2Bacoder.rrefgydF4y2Ba
|gydF4y2Bacoder.targetgydF4y2Ba
|gydF4y2BaCoder.updateBuildInfo.gydF4y2Ba
|gydF4y2Ba编码器gydF4y2Ba