文件帮助中心文件
防止使用表达式的恒定值为功能专业
Coder.ignoreConst(表达式)
例子
Coder.ignoreConst(表达)防止代码生成器使用常量值表达去创造功能专业。Coder.ignoreConst(表达式)返回值表达。
Coder.ignoreConst(表达)
表达
全部收缩
采用Coder.ignoreConst.防止使用常量值调用的函数的函数专业。
Coder.ignoreConst.
写下功能call_myfn.,呼叫myfcn.。
call_myfn.
myfcn.
功能[x,y] = call_myfcn(n)%#codegen.x = myfcn(n,'mode1');y = myfcn(n,'mode2');结尾功能y = myfcn(n,mode)coder.inline('绝不');如果strcmp(模式,'mode1')y = n;别的y = -n;结尾结尾
生成独立的C代码。例如,生成静态库。启用代码生成报告。
Codegen.-config:libcall_myfcn.- args.{1}-报告
在代码生成报告中,您可以看到两个功能专门call_myfcn.。
call_myfcn.
代码生成器创建call_myfcn> myfcn> 1为了模式值'mode1'。它创建call_myfcn> myfcn> 2为了模式值'mode2'。
call_myfcn> myfcn> 1
模式
'mode1'
call_myfcn> myfcn> 2
'mode2'
在生成的C代码中,您可以看到专业化my_fcn.和b_my_fcn.。
my_fcn.
b_my_fcn.
静态双b_myfcn(double n){return-n;静态双重myfcn(双n){return n;}
为防止功能专业化,请指示代码生成器忽略该值模式参数是恒定的。
功能[x,y] = call_myfcn(n)%#codegen.x = myfcn(n,coder.ignoreconst('mode1'));y = myfcn(n,coder.ignoreconst('mode2'));结尾功能y = myfcn(n,mode)coder.inline('绝不');如果strcmp(模式,'mode1')y = n;别的y = -n;结尾结尾
生成C代码。
在代码生成报告中,您没有看到多个函数专业化。
在生成的C代码中,您会看到一个函数my_fcn.。
表达式将被视为不合适的价值,指定为matlab表达式。
用于为特定调用函数的输入类型,大小,复杂性或值的函数的版本。
功能专业化以代码重复为代价生成高效的C代码。代码生成报告显示代码生成器创建的所有MATLAB功能专门。但是,由于稍后的转换或优化,专业化可能不会出现在生成的C / C ++代码中。
对于某些递归函数调用,您可以使用Coder.ignoreConst.强制运行时递归。看到强制代码生成器使用运行时间递归。
Coder.ignoreConst(表达式)防止代码生成器使用常量值表达创建功能专业化。在代码生成期间,它不会阻止恒定值的其他用途。
编码器.Ignolatize.|编码程序
编码器.Ignolatize.
编码程序
您单击了与此MATLAB命令对应的链接:
在MATLAB命令窗口中输入它来运行命令。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站,以便在可用的地方进行翻译的内容,并查看本地活动和优惠。根据您的位置,我们建议您选择:。
您还可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。
联系您当地的办公室
立即获得审判