-
-
处理数据的优先级??
-
发表于:
2005-5-9 03:13
3866
-
(知道这里的大牛们都有读过windows的代码 问个跟crack不大关系的算法)
处理数据的优先级??
typedef struct command{
int a;
float b;
}CMD;
CMD cmd1;
就是现在有很多CMD(从数据包里分离出来的)
怎么把这写CMD排序列啊
比如 cmd1.a
要是a=300 优先处理
a=233 第2处理
a=677 第3处理
偶想再定义一个typedef struct MyCommand{
CMD cmd;
int i; //优先级别 就是在原来的结构上加一个变量 定义优先级 如1,2,3等
}MyCmd;
MyCmd Mycmd1;
然后 switch(MyCmd1.cmd.a)
{
case 300:
MyCmd.cmd.i=1; //第1优先
break;
case 233:
MyCmd.cmd.i=2; //第2优先
break;
case 677:
MyCmd.cmd.i=3; //第3优先
break;
}
然后做个stack把MyCmd.cmd.i小的先入栈 MyCmd.cmd.i大的后入 这样能优先级高的数据先处理了
可是那些数据包非常多 觉着这样的效率好象不怎么高啊 而且那些MyCmd.cmd.a有几百个 case就有几百个 以后要是代码修改的时候_-## 还有加个变量处理优先级 还有stack
=========
有什么更好点的办法吗?(windows的消息好象就有优先级的 他是怎么处理的? 找不到windows的代码 哪位大虾给说说思路吗?)
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课