相关疑难解决方法(0)

C状态机设计

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

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

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

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

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

c c++ architecture state-machine

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

C中的状态机

在C中编写状态机的最佳方法是什么?
我通常在for(;;)中编写一个大的switch-case语句,并在外部操作完成时使用回调来重新进入状态机.
你知道更有效的方式吗?

c state-machine

16
推荐指数
2
解决办法
2万
查看次数

如何在代码中对测试进行模糊处理以防止篡改响应处理?

我正在寻找一种方法来混淆(在目标代码中)一个测试 - 就像检查许可证密钥是否有效一样.我想要防止的是有人在图像二进制文件中搜索处理响应的代码.

bool checkError = foo();
if ( checkError ) // I'd like to avoid making a simple check like this one.
{
   // process response
}
Run Code Online (Sandbox Code Playgroud)

这是一个简单的例子,但不是推荐的方法:

int check = 71 * 13;
check += 35 * isValid(); // will only return 0 or 1

//later (delayed execution of response)
if ( check % 71 )
{
   //process response
}
Run Code Online (Sandbox Code Playgroud)

编辑:只是为了澄清,实际测试已经完成,我正在通过/失败返回.我的响应处理将是一个基本的jmp,并且会对如何混淆jmp位置的指针感兴趣.

c++

7
推荐指数
2
解决办法
1301
查看次数

标签 统计

c ×2

c++ ×2

state-machine ×2

architecture ×1