相关疑难解决方法(0)

C状态机设计

我正在用混合C和C++制作一个小项目.我正在我的一个工作线程的核心构建一个小型状态机.

我想知道你是否会在SO上分享你的状态机设计技巧.

注意:我主要是经过久经考验的实施技术.

更新:基于SO上收集的所有重要输入,我已经确定了这个架构:

事件泵指向指向调度员的事件集成器. 调度程序指向1到n的操作,这些操作指向事件集成器. 带通配符的转换表指向调度程序.

c c++ architecture state-machine

192
推荐指数
9
解决办法
8万
查看次数

是否有典型的状态机实现模式?

我们需要在C中实现一个简单的状态机.
标准的switch语句是最好的方法吗?
我们有一个当前状态(状态)和转换触发器.


switch(state)
{
  case STATE_1:
     state = DoState1(transition);
     break;
  case STATE_2:
     state = DoState2(transition);
     break;
}
...
DoState2(int transition)
{
   // Do State Work
   ...
   if(transition == FROM_STATE_2) {
     // New state when doing STATE 2 -> STATE 2
   }
   if(transition == FROM_STATE_1) {
    // New State when moving STATE 1 -> STATE 2
   }
   return new_state;
}
Run Code Online (Sandbox Code Playgroud)

对于简单的状态机是否有更好的方法

编辑:对于C++,我认为Boost Statechart库可能是要走的路.但是,它对C 没有帮助.让我们专注于C用例.

c design-patterns finite-automata

114
推荐指数
8
解决办法
11万
查看次数

状态机教程

我只是想知道是否有人知道在互联网上开发状态机的一些很好的教程.还是电子书?

我开始在状态机上工作,只需要一些通用的东西让我开始.

c c99 state-machine

68
推荐指数
5
解决办法
12万
查看次数