指定标准库的扩展代码生成器为数学操作使用。当你为一个新的模型生成代码或一组新配置对象,代码生成器使用ISO®/ IEC 9899:1999 C (C99 (ISO))默认库。现有模型和配置设置对象,代码生成器使用指定的库标准的数学库参数。
如果你的编译器支持ISO®/ IE金宝appC 9899:1990 (C89 /人私下偷偷收藏盒式(ANSI))、ISO / IEC 14882:2003 (c++ 03 (ISO)或ISO / IEC 14882:2011 (c++ 11 (ISO)数学库扩展,你可以改变标准数学库设置。c++ 03 (ISO) 11 (ISO)或c++库是一个选择当您选择c++的编程语言。
C99图书馆利用编译器提供的性能在C99标准ANSI C .当使用图书馆,代码生成器生成调用ISO C函数。例如,生成的代码调用函数sqrtf ()
在单精度数据、运营,而不是sqrt ()
。
改变图书馆的设置,使用配置参数>标准数学库参数。命令行等价的是TargetLangStandard
。
1。打开示例模型rtwdemo_clibsup
。
2。生成的代码。
# # #开始构建过程:rtwdemo_clibsup # # #成功完成代码生成:rtwdemo_clibsup模型建立目标:总结构建模型重建行动的原因= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = rtwdemo_clibsup代码生成的代码生成信息文件不存在。1 1模型的建立(0模型已经更新)构建持续时间:0 h 0米12.372秒
3所示。检查生成的文件中的代码rtwdemo_clibsup.c
。注意,调用的代码√6
函数。
如果(rtb_Abs2 < 0.0 f) {rtb_Abs2 = - real32_T)√((real32_T)晶圆厂(rtb_Abs2));其他}{rtb_Abs2 = (real32_T) sqrt (rtb_Abs2);}
1。更改的设置标准的数学库来C99 (ISO)
。或者,在命令行中,集TargetLangStandard
来C99 (ISO)
。
2。重新生成代码。
# # #开始构建过程:rtwdemo_clibsup # # #成功完成代码生成:rtwdemo_clibsup模型建立目标:总结构建模型重建行动的原因= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = rtwdemo_clibsup代码生成的代码生成信息文件不存在。1 1模型的建立(0模型已经更新)构建持续时间:0 h 0米11.49秒
3所示。复试中的代码生成的文件rtwdemo_clibsup.c
。现在生成的代码调用函数sqrtf
而不是√6
。
如果(rtb_Abs2 < 0.0 f) {rtb_Abs2 = -sqrtf (fabsf (rtb_Abs2));其他}{rtb_Abs2 = sqrtf (rtb_Abs2);}