文档

为目标系统配置标准数学库

指定标准库的扩展代码生成器为数学操作使用。当你为一个新的模型生成代码或一组新配置对象,代码生成器使用ISO®/ IEC 9899:1999 C (C99 (ISO))默认库。现有模型和配置设置对象,代码生成器使用指定的库标准的数学库参数。

如果你的编译器支持ISO®/ IE金宝appC 9899:1990 (C89 /人私下偷偷收藏盒式(ANSI))或ISO / IEC 14882:2003 (C + + 03 (ISO))数学库扩展,你可以改变标准数学库设置。c++ 03 (ISO)库是一个选择当您选择c++的编程语言。

C99图书馆利用编译器提供的性能在C99标准ANSI C .当使用图书馆,代码生成器生成调用ISO C函数。例如,生成的代码调用函数sqrtf ()在单精度数据、运营,而不是sqrt ()

改变图书馆的设置,使用配置参数>标准数学库参数。命令行等价的是TargetLangStandard

生成和检查ANSI C代码

1。打开示例模型rtwdemo_clibsup

2。生成的代码。

# # #开始构建过程模型:rtwdemo_clibsup # # #成功完成的代码生成模型:rtwdemo_clibsup

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);}

生成和检查ISO C代码

1。更改的设置标准的数学库C99 (ISO)。或者,在命令行中,集TargetLangStandardC99 (ISO)

2。重新生成代码。

# # #开始构建过程模型:rtwdemo_clibsup # # #成功完成的代码生成模型:rtwdemo_clibsup

3所示。Rexamine中的代码生成的文件rtwdemo_clibsup.c。现在生成的代码调用函数sqrtf而不是√6

如果(rtb_Abs2 < 0.0 f) {rtb_Abs2 = -sqrtf (fabsf (rtb_Abs2));其他}{rtb_Abs2 = sqrtf (rtb_Abs2);}

相关信息

这个主题有帮助吗?