C函数
从Simulink模型集成和调用外部C/ c++代码万博1manbetx
- 库:
万博1manbetxSimulink /用户定义函数
描述
的C函数block从Simulink集成和调用外部C/ c++代码万博1manbetx®模型。使用此块定义外部代码,并通过预处理或后处理数据自定义代码的集成。此外,您还可以为模拟和C代码生成指定定制代码。您可以有条件地调用代码中定义的函数,也可以在一个块中调用多个函数。使用此块,可以初始化持久数据并将其传递给外部函数。
的C函数Block支万博1manbetx持初始化持久数据和从块对话框调用外部函数。持久数据可以包括自定义代码中定义的c++类的对象。看到使用C函数块与c++类接口.块只支持初始化和终止万博1manbetx持久数据。该块不支持在模拟过程中更新数据。万博1manbetx要对具有连续状态的动态系统建模,可以使用功能块。要了解关于s函数的更多信息,请参见什么是s函数?
类调用的源代码和支持文件万博1manbetxC函数块模拟目标窗格中的“模型配置参数”对话框。看到模型配置参数:仿真目标.
请注意
C99是C语言的标准版本,支持自定义C代码集成到Simulink中。万博1manbetx万博1manbetx
调用C库函数
类中直接调用这些C数学库函数C函数块。
腹肌 |
这些“可信赖医疗组织” |
印度历的7月 |
: |
量化 |
装天花板 |
因为 |
cosh |
经验值 |
晶圆厂 |
地板上 |
在你 |
实验室 |
ldexp |
日志 |
log10 |
战俘 |
罪 |
sinh |
√6 |
棕褐色 |
双曲正切 |
当您调用这些函数时,除非所有输入参数都显式地为单精度,否则将应用双精度。当发生类型不匹配时,将输入参数转换为预期类型将替换原始参数。例如,如果调用罪
函数的整数实参,将输入实参转换为类型的浮点数双
替换原来的参数。
若要调用其他C库函数,请创建并调用调用C库函数的外部包装器函数。
腹肌
,晶圆厂
,实验室
功能
解释腹肌
,晶圆厂
,实验室
函数C函数block超越了标准C版本,包括整型和浮点型参数:
如果
x
是整数,标准C函数腹肌
适用于x
,或abs (x)
.如果
x
是double,标准C函数实验室
适用于x
,或实验室(x)
.如果
x
是一个单一的,标准的C函数晶圆厂
适用于x
,或晶圆厂(x)
.
函数调用应该根据传递给函数的数据类型调用正确的CRL。如果没有指定CRL,对函数的调用应该调用特定类型的库。C99的CRL生成一个特定于类型的函数。例如:
传入的类型 | 代码生成调用 |
---|---|
sin (doubleIn) |
sin (doubleIn) |
sin (floatIn) |
sinf (floatIn) |
限制
的这些特性与万博1manbetxC函数块。
万博1manbetx仿真软件覆盖™
只测量执行覆盖率。
万博1manbetxSimulink Code Inspector™
万博1manbetxSimulink设计验证器™
万博1manbetx仿真软件测试™
-测试线束
类中指定的C代码适用这些限制C函数块。
的局部静态变量
静态
关键字不支持。万博1manbetx若要跨时间步骤缓存值,请将符号定义为持续的
在符号表的块对话框。你不能
# include
代码中的文件。包含外部函数的文件必须在模拟目标窗格中的“配置参数”窗口。取a的地址
常数
不支持符号。万博1manbetx不支持直接调用C库函数,而不是上面列出的C数学库函数。万博1manbetx若要调用其他C库函数,请创建并调用调用C库函数的包装器函数。
港口
输入
输出
参数
块特征
扩展功能
版本历史
R2020a中引入