主要内容

coder.target

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

描述

例子

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

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

例子

全部折叠

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

写一个MATLAB函数myabsval

函数y = myabsval (u)% # codegeny = abs (u);

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

codegen配置:自由myabsvalarg游戏{0.0}
codegen函数创建库文件myabsval.lib与头文件myabsval.h在文件夹\ codegen \ lib \ myabsval.(库文件扩展名可以根据您的平台而更改。)它生成函数myabsval_initialize而且myabsval_terminate在同一个文件夹里。

编写一个MATLAB函数调用生成的C库函数使用coder.ceval

函数y = callmyabsval (y)% # codegen检查目标。不要使用编码器。如果callmyabsval为%在MATLAB中执行如果coder.target (MATLAB的%在MATLAB中执行,调用函数myabsvaly = myabsval (y);其他的%在生成的函数代码中添加所需的include语句coder.updateBuildInfo (“addIncludePaths”“美元(START_DIR) \ codegen \ lib \ myabsval ');coder.cinclude (“myabsval_initialize.h”);coder.cinclude (“myabsval.h”);coder.cinclude (“myabsval_terminate.h”);%在生成的代码中执行。函数之前调用initialize函数% C函数的第一次coder.ceval (“myabsval_initialize”);调用生成的C库函数myabsvaly = coder.ceval (“myabsval”, y);之后调用terminate函数%最后一次调用C函数coder.ceval (“myabsval_terminate”);结束

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

codegen配置:墨西哥人callmyabsvalcodegen \ lib \ myabsval \ myabsval.libarg游戏{-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函数
“Sfun” 模拟仿真软件金宝app®模型。也用于在加速器模式下运行。
“环球套票” 生成LIB、DLL或EXE目标。也用于磨合金宝app仿真软件编码器™和快速加速器模式。
“高密度” 生成HDL目标
“自定义” 生成自定义目标

例子:tf = coder.target (MATLAB)

例子:tf = coder.target (MATLAB)

介绍了R2011a