c - 在 simulink 中重用 C 代码

标签 c simulink stateflow

我是否可以从状态流图中调用 C 程序,然后复制此图(仍在同一模型中),并执行两者而不会发生任何冲突?

例如这样的 C 程序:

int var;              // var is global
int myfunction(int n)
{
  var = var + n;
  return var;
}

我的意思是,将它们视为两个不同的实体,并且不会与全局变量混淆。

顺便说一句,也无需重命名源代码中的函数,我就有了一个大程序:)

最佳答案

这更多的是一个与 C 相关的问题。 如果您使用在全局上运行的相同 C 函数,那么是的,对此函数的所有调用都将在同一变量上运行。 您可以做的是使该变量成为每个调用 Stateflow 状态的本地变量,然后将其传递给 C 函数。这样您就不会发生冲突并且能够重用您的代码。 这也是一个很好的设计选择,因为否则您可能会在函数中隐藏状态变量,即在状态机之外。

关于c - 在 simulink 中重用 C 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29325108/

相关文章:

matlab - 从 SIMULINK 到工作区 FFT?

matlab - 从 MATLAB 命令窗口搜索 Simulink MATLAB 功能 block 代码以查找匹配的字符串

matlab - 以编程方式打开 Simulink MATLAB 功能 block 的代码

c - 如何生成一个可以包含所有大于零的自然数的数组?

c - connect(2) 调用是否使用了完整的 struct sockaddr_in 结构,或者仅使用 struct in_addr 就足够了?

matlab - 如何在仿真过程中将simulink数据导出到工作区?

android - Kotlin 结合了 2 个以上的流程

c - 获取一定数量的元素放入数组中

c - (C) 在多线程客户端和服务器中使用互斥量