完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛扫一扫,分享给好友
|
if((OSRdyTbl[prio>>3]&=~OSMapTbl[prio&0x07])==0)
把上面这句话分解一下,实在难以理解。 抽象一下就是 if((a&=~b)==0) 请高手解释一下。 |
|
相关推荐
22个回答
|
|
|
|
|
|
|
|
|
a与非b赋值给a 如果a等于0 我是这么理解的
|
|
|
|
|
|
看到这标题我都不想回答了
|
|
|
|
|
|
(*(void(*)())0)();
|
|
|
|
|
|
C语言大神,您就回答一下吧
|
|
|
|
|
|
谢谢谢谢
|
|
|
|
|
|
谢谢大神
|
|
|
|
|
|
u8 cPtr1 = prio >> 3;
u8 cPtr2 = prio & 0x07; u8 cRslt1 = OSMapTbl[cPtr2]; cRslt1 = ~cRslt1; u8 cRslt2 = OSRdyTbl[cPtr1]; cRslt2 = cRslt2 & cRslt1; if(0 == cRslt2) 可能优先级有错误,不过拆开一步步的写大概就这样。 if((OSRdyTbl[prio>>3]&=~OSMapTbl[prio&0x07])==0) 这么写代码,编译器能识别,自己写着玩也可以,但是在项目里这么写会被打回的,多次之后你会被辞退。 原因就是不够直接明了,不方便维护管理。 别人看你的代码的时候会很费劲。 比如,微软的开发,有一个环节就是大家一起读同事的代码,已便代码直接明了查找bug什么的。 项目里的代码不要求高深花哨技巧,只要求直观明了,容易维护。 |
|
|
|
|
|
这个叫难吗?
|
|
|
|
|
|
谢谢您的耐心讲解,要不微信给你发个红包?
|
|
|
|
|
|
楼主名字好霸气,为何不多贴点代码?让我们断章取义?
|
|
|
|
|
|
进来看有啥难到会丢人
|
|
|
|
|
|
|
|
|
起这种标题,帮你的人会少一半……
|
|
|
|
|
|
void(*)(),参数为空,返回为void的函数指针类型
void(*)())0 ,把0转化为上面的函数指针类型 *(void(*)())0),引用指针 (*(void(*)())0)(),调用函数 不知道这样对不对 |
|
|
|
|
|
解释的真好
|
|
|
|
|
|
这也要C语言学的好啊,这不是入门级的嘛
|
|
|
|
|
|
好纠结
|
|
|
|
|
|
让我茅塞顿开
|
|
|
|
|
只有小组成员才能发言,加入小组>>
1022 浏览 1 评论
1852 浏览 0 评论
1833 浏览 1 评论
3258 浏览 5 评论
3585 浏览 9 评论
1022浏览 1评论
1850浏览 1评论
如何知道嵌入式电子控制单元 (ECU) 中的RAM使用情况?
1360浏览 1评论
1852浏览 0评论
1178浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 07:23 , Processed in 1.290562 second(s), Total 110, Slave 90 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
869