我是否可以从状态流图中调用 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/