文件

编码器.Target.

确定代码生成目标是否指定为目标

描述

例子

TF.= coder.target(目标如果代码生成目标是返回true(1)目标.否则,返回false(0)。

如果你为MATLAB生成代码®类,MATLAB在代码生成之前计算类加载时间的类初始值。如果你使用编码器.Target.在Matlab类属性初始化中,Coder.target('matlab')返回true。

例子

全部收缩

参数化MATLAB函数使其在MATLAB或生成的代码中工作。当函数在MATLAB中运行时,它调用MATLAB函数myabsval..但是,生成的代码调用C库函数myabsval.

编写MATLAB函数myabsval.

功能y = myabsval (u)%#codegen.y = abs(u);

生成一个C静态库myabsval., 使用- args.选项指定输入参数的大小,类型和复杂性。

Codegen.-config:libmyabsval.-  args.{0.0}
Codegen.函数创建库文件myabsval.lib.和标题文件myabsval.h.在文件夹中\ codegen \ lib \ myabsval.(库文件扩展名可以根据您的平台更改。)它生成函数myabsval_initializemyabsval_terminate.在同一文件夹中。

编写MATLAB函数以调用生成的C库功能coder.ceval

功能Y = CALLMYABSVAL(Y)%#codegen.%检查目标。如果Callmyabsval是的,请不要使用编码器.CEVAL%在matlab中执行如果Coder.target('matlab'%在matlab中执行,调用函数myabsvaly = myabsval(y);别的%在生成的函数代码中添加必需的include语句Coder.updateBuildInfo('addincludepaths'“美元(START_DIR) \ codegen \ lib \ myabsval ');编码器.Cinclude('myabsval_initialize.h');编码器.Cinclude('myabsval.h');编码器.Cinclude('myabsval_terminate.h');%在生成的代码中执行。在调用之前调用初始化函数%c第一次函数Coder.CEVAL('myabsval_initialize');%调用生成的C库函数myabsvaly = coder.ceval(“myabsval”,y);%呼叫终止功能%在最后一次调用C函数Coder.CEVAL('myabsval_terminate');结尾

生成MEX功能callmyabsval_mex..在命令行中提供生成的库文件。

Codegen.-config:mex.Callmyabsval.Codegen \ lib \ myabsval \ myabsval.lib-  args.{-2.75}

你可以使用而不是在命令行提供库Coder.updateBuildInfo.指定函数中的库。使用此选项来预先配置构建。将此行添加到别的堵塞:

Coder.updateBuildInfo('addlinkobjects''myabsval.lib'“美元(START_DIR) \ codegen \ lib \ myabsval ',100,真实,真实);

运行mex函数callmyabsval_mex.调用库函数myabsval.

callmyabsval_mex(-2.75)
ANS = 2.7500.

调用matlab函数Callmyabsval.

Callmyabsval(-2.75)
ANS = 2.7500.
Callmyabsval.功能展示了在MATLAB和代码生成中执行所需的行为。

输入参数

全部收缩

代码生成目标,指定为字符向量或字符串标量。指定其中一个目标。

'matlab' 在matlab中运行(不是生成代码)
'mex' 生成MEX功能
'sfun' 模拟模拟金宝app®模型
'RTW' 生成LIB,DLL或EXE目标
'hdl' 生成HDL目标
'风俗' 生成自定义目标

例子:tf = coder.target (MATLAB)

例子:tf = coder.target(“matlab”)

在R2011A介绍