C函数
从Simulink模型集成和调用外部C/ c++代码金宝app
- 库:
金宝appSimulink /用户定义函数
描述
的C函数block从Simulink集成和调用外部C/ c++代码金宝app®模型。使用此块定义外部代码,并通过预处理或后处理数据自定义代码的集成。此外,您还可以为模拟和C代码生成指定定制代码。您可以有条件地调用代码中定义的函数,也可以在一个块中调用多个函数。使用此块,可以初始化持久数据并将其传递给外部函数。
的C函数Block支金宝app持初始化持久数据和从块对话框调用外部函数。持久数据可以包括自定义代码中定义的c++类的对象。看到使用C函数块与c++类接口.块只支持初始化和终止金宝app持久数据。该块不支持在模拟过程中更新数据。金宝app要对具有连续状态的动态系统建模,可以使用功能块。要了解关于s函数的更多信息,请参见什么是s函数?
类调用的源代码和支持文件金宝appC函数块模拟目标窗格中的“模型配置参数”对话框。看到模型配置参数:仿真目标.
请注意
C99是C语言的标准版本,支持自定义C代码集成到Simulink中。金宝app金宝app
调用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) |
限制
的这些特性与金宝appC函数块。
金宝app仿真软件覆盖™
只测量执行覆盖率。
金宝appSimulink Code Inspector™
金宝appSimulink设计验证器™
金宝app仿真软件测试™
-测试线束
如果一个C函数Block使用符号with持续的
范围内,该块不能用于连续采样时间。
类中指定的C代码适用这些限制C函数块。
的局部静态变量
静态
关键字不支持。金宝app若要跨时间步骤缓存值,请将符号定义为持续的
在符号表的块对话框。你不能
# include
代码中的文件。包含外部函数的文件必须在模拟目标窗格中的“模型配置参数”对话框。取a的地址
常数
不支持符号。金宝app不支持直接调用C库函数,而不是上面列出的C数学库函数。金宝app若要调用其他C库函数,请创建并调用调用C库函数的包装器函数。