本帖最后由 湉湉 于 2016-4-2 23:42 编辑 proto thread 轻量级任务调度,在嵌入式的开发中,很有用处,花费资源少,可以实现轻量级的任务调度, 为了验证效果先在 VC6.0调试的时候 里面的宏定义 #define LC_SET(s) s = __LINE__; case __LINE__: 报错 error C2051: case expression not constant 查找了网上的资料 是VC6.0 不支持 case __LINE__;为了调试,没有办法 把宏定义重新修改了下 第一处: LC.H的 由原来的 #define LC_SET(s) s = __LINE__; case __LINE__: 修改成了 #define LC_SET(s,x) s = x; case x: 第二处: PT.H下的 原来的 #define PT_WAIT_UNTIL(pt, condition) \ do { \ LC_SET((pt)->lc,); \ if(!(condition)) { \ return PT_WAITING; \ } \ } while(0) 修改成了 #define PT_WAIT_UNTIL(pt, condition,line) \ do { \ LC_SET((pt)->lc,line); \ if(!(condition)) { \ return PT_WAITING; \ } \ } while(0) 第三处就是平时调用的地方: PT_WAIT_UNTIL(pt,protothread2_flag != 0); 改成了PT_WAIT_UNTIL(pt,protothread2_flag != 0,100); 附件有运行效果图和源代码 没法上传附件,先放在这里吧 http://share.weiyun.com/927656037bc778c1b7e16a591e4d37b6 |
VC6.0çè¿è¡ææå¾