coder.cevalgydF4y2Ba
调用外部C / c++函数gydF4y2Ba
语法gydF4y2Ba
描述gydF4y2Ba
coder.ceval (gydF4y2Ba
执行指定的外部C / c++函数gydF4y2Bacfun_namegydF4y2Ba
)gydF4y2Bacfun_namegydF4y2Ba
。定义gydF4y2Bacfun_namegydF4y2Ba
在外部C / c++源文件或库。提供外部源、库和头文件代码生成器。gydF4y2Ba
coder.ceval (gydF4y2Ba
执行gydF4y2Bacfun_namegydF4y2Ba
,gydF4y2Bacfun_argumentsgydF4y2Ba
)gydF4y2Bacfun_namegydF4y2Ba
使用参数gydF4y2Bacfun_argumentsgydF4y2Ba
。gydF4y2Bacfun_argumentsgydF4y2Ba
是一个以逗号分隔的输入参数的顺序吗gydF4y2Bacfun_namegydF4y2Ba
需要。gydF4y2Ba
默认情况下,gydF4y2Bacoder.cevalgydF4y2Ba
将参数的值传递给C / c++函数当C / c++支持按值传递参数。金宝app为了使gydF4y2Bacoder.cevalgydF4y2Ba
通过引用传递参数,使用结构gydF4y2Bacoder.refgydF4y2Ba
,gydF4y2Bacoder.rrefgydF4y2Ba
,gydF4y2Bacoder.wrefgydF4y2Ba
。如果C / c++不支持按值传递参数金宝app,例如,如果参数是一个数组,gydF4y2Bacoder.cevalgydF4y2Ba
以引用的方式传递参数。如果你不使用gydF4y2Bacoder.refgydF4y2Ba
,gydF4y2Bacoder.rrefgydF4y2Ba
或gydF4y2Bacoder.wrefgydF4y2Ba
,一份可以出现在执行MATLAB生成的代码gydF4y2Ba®gydF4y2Ba语义数组。gydF4y2Ba
coder.ceval (gydF4y2Ba
执行gydF4y2Ba“全球”gydF4y2Ba
,gydF4y2Bacfun_namegydF4y2Ba
)gydF4y2Bacfun_namegydF4y2Ba
和显示gydF4y2Bacfun_namegydF4y2Ba
使用一个或多个MATLAB全局变量。代码生成器可以产生的代码符合这个全局变量的使用。gydF4y2Ba
请注意gydF4y2Ba
的gydF4y2Ba全球gydF4y2Ba
国旗只是支持代码生成。金宝app你不能包括在调用这个标志gydF4y2Bacoder.cevalgydF4y2Ba
在MATLAB函数块。gydF4y2Ba
coder.ceval (gydF4y2Ba
执行gydF4y2Ba“全球”gydF4y2Ba
,gydF4y2Bacfun_namegydF4y2Ba
,gydF4y2Bacfun_argumentsgydF4y2Ba
)gydF4y2Bacfun_namegydF4y2Ba
使用参数gydF4y2Bacfun_argumentsgydF4y2Ba
和显示gydF4y2Bacfun_namegydF4y2Ba
使用一个或多个MATLAB全局变量。gydF4y2Ba
coder.ceval (gydF4y2Ba
允许您调用CUDAgydF4y2Ba®gydF4y2BaGPUgydF4y2Ba“-gpudevicefcn”gydF4y2Ba
、devicefun_name devicefun_arguments)gydF4y2Ba__device__gydF4y2Ba
从内核内部函数。gydF4y2Ba“-gpudevicefcn”gydF4y2Ba
指示gydF4y2Bacoder.cevalgydF4y2Ba
目标函数是在GPU设备。gydF4y2Badevicefun_namegydF4y2Ba
的名称是什么gydF4y2Ba__device__gydF4y2Ba
功能和gydF4y2Badevicefun_argumentsgydF4y2Ba
是一个以逗号分隔的输入参数的顺序吗gydF4y2Badevicefun_namegydF4y2Ba
需要。这个选项需要GPU编码器™产品。gydF4y2Ba
coder.ceval (gydF4y2Ba
执行gydF4y2Ba“布局:rowMajor”gydF4y2Ba
,gydF4y2Bacfun_namegydF4y2Ba
,gydF4y2Bacfun_argumentsgydF4y2Ba
)gydF4y2Bacfun_namegydF4y2Ba
使用参数gydF4y2Bacfun_argumentsgydF4y2Ba
并通过数据存储在存储布局。当从一个函数,使用列为主的布局,代码生成器将输入转换为行布局和转换输出列为主的布局。更短的语法使用gydF4y2Bacoder.ceval(‘行’,…)gydF4y2Ba
。gydF4y2Ba
coder.ceval (gydF4y2Ba
执行gydF4y2Ba“布局:columnMajor”gydF4y2Ba
,gydF4y2Bacfun_namegydF4y2Ba
,gydF4y2Bacfun_argumentsgydF4y2Ba
)gydF4y2Bacfun_namegydF4y2Ba
使用参数gydF4y2Bacfun_argumentsgydF4y2Ba
并通过数据存储在列为主的布局。当从一个函数,使用行布局,代码生成器将输入转换成列为主的布局和转换输出回行布局。更短的语法使用gydF4y2Bacoder.ceval(坳,…)gydF4y2Ba
。gydF4y2Ba
coder.ceval (gydF4y2Ba
执行gydF4y2Ba布局:任何的gydF4y2Ba
,gydF4y2Bacfun_namegydF4y2Ba
,gydF4y2Bacfun_argumentsgydF4y2Ba
)gydF4y2Bacfun_namegydF4y2Ba
使用参数gydF4y2Bacfun_argumentsgydF4y2Ba
并与当前数组传递数据布局,即使阵列布局不匹配。代码生成器并不把数组输入或输出数据的布局。gydF4y2Ba
cfun_return = coder.ceval (gydF4y2Ba___gydF4y2Ba)gydF4y2Ba
执行gydF4y2Bacfun_namegydF4y2Ba
并返回一个标量值,gydF4y2Bacfun_returngydF4y2Ba
,对应的值的C / c++函数返回gydF4y2Ba返回gydF4y2Ba
声明。与C / c++是一致的,gydF4y2Bacoder.cevalgydF4y2Ba
只能返回标量值。它不能返回一个数组。使用这个选项的任何输入参数组合在前面的语法。gydF4y2Ba
例子gydF4y2Ba
输入参数gydF4y2Ba
限制gydF4y2Ba
你不能使用gydF4y2Ba
coder.cevalgydF4y2Ba
在函数声明外在gydF4y2Bacoder.extrinsicgydF4y2Ba
。gydF4y2Ba当LCC编译器创建一个库,它添加了一个主要强调库函数的名字。如果图书馆LCC的编译器和代码生成编译器不是LCC,您必须添加主要强调函数名,例如,gydF4y2Ba
coder.ceval (“_mylibfun”)gydF4y2Ba
。如果不是LCC的编译器库,您不能使用LCC从MATLAB代码来生成代码调用函数库。这些库函数名称没有主要强调LCC编译器要求。gydF4y2Ba如果一个属性的get方法,一组方法,或验证器,或者是一个系统对象™财产与某些属性,那么你不能通过财产通过引用一个外部函数。看到gydF4y2Ba按引用传递一些属性的不支持金宝appgydF4y2Ba。gydF4y2Ba
适应矩阵作为入口点参数不支持行代码生成。金宝appgydF4y2Ba
提示gydF4y2Ba
对于代码生成,然后调用gydF4y2Ba
coder.cevalgydF4y2Ba
,您必须指定类型、大小和复杂性的返回值和输出参数的数据类型。gydF4y2Ba应用gydF4y2Ba
coder.cevalgydF4y2Ba
接受或返回变量的函数,在MATLAB代码中,不存在如指针,gydF4y2Ba文件gydF4y2Ba
类型的文件I / O和C / c++宏,使用gydF4y2Bacoder.opaquegydF4y2Ba
函数。gydF4y2Ba使用gydF4y2Ba
coder.cevalgydF4y2Ba
只有在MATLAB代码生成。gydF4y2Bacoder.cevalgydF4y2Ba
没有编译的MATLAB代码中生成一个错误。来确定一个MATLAB函数执行在MATLAB中,使用gydF4y2Bacoder.targetgydF4y2Ba
。如果函数执行在MATLAB中,调用MATLAB版本的C / c++函数。gydF4y2Ba外部代码通过使用gydF4y2Ba
coder.cevalgydF4y2Ba
生成的代码运行在相同的进程和共享内存。如果外部代码错误写入内存,它包含生成的代码所使用的数据结构,它可能导致意外行为或崩溃的过程。例如,如果外部代码试图写入数据数组终点后,这个过程可能会意外的行为或崩溃。gydF4y2BaMATLAB在Windows上使用utf - 8作为其系统编码gydF4y2Ba®gydF4y2Ba平台。因此,系统调用由内生成的墨西哥人函数接受和返回utf - 8编码的字符串。相比之下,生成的代码gydF4y2BaMATLAB编码器gydF4y2Ba使用指定的编码编码文本数据窗口地区。所以,如果你的MATLAB入口点函数使用gydF4y2Ba
coder.cevalgydF4y2Ba
调用外部C / c++函数,假设不同的系统编码,然后生成的墨西哥人函数可能产生混乱的文本。如果发生这种情况,您必须更新外部C / c++函数来处理这种情况。gydF4y2Ba
扩展功能gydF4y2Ba
版本历史gydF4y2Ba
介绍了R2011agydF4y2Ba
另请参阅gydF4y2Ba
coder.refgydF4y2Ba
|gydF4y2Bacoder.rrefgydF4y2Ba
|gydF4y2Bacoder.wrefgydF4y2Ba
|gydF4y2Bacoder.targetgydF4y2Ba
|gydF4y2BacodegengydF4y2Ba
|gydF4y2Bacoder.extrinsicgydF4y2Ba
|gydF4y2Bacoder.opaquegydF4y2Ba
|gydF4y2Bacoder.columnMajorgydF4y2Ba
|gydF4y2Bacoder.rowMajorgydF4y2Ba
|gydF4y2Bacoder.updateBuildInfogydF4y2Ba
|gydF4y2Bacoder.ExternalDependencygydF4y2Ba
|gydF4y2Bacoder.reservedNamegydF4y2Ba