1.大小端问题

union

{

    unsigned char c[2];

    unsigned int i;

}m;

m.i= ~0xFF;

则在little-endian字节序的机器上m.c[0]m.c[1]分别为

00 FF

对齐方式,大端对齐,小端对齐,是针对字节存放顺序的。小端即高位存放在高地址,低位存放在低地址的方式。而大端系统正好相反

和栈方向没有任何关系

 

2.系统问题

linux 系统中对于条件逻辑,执行频繁的逻辑使用unlikely 进行预编译处理;例如:if(unlikely(NULL!=ptPacket)),

如果Linky() 条件成立的概率大,那么性能会提升,如果unlikely那么条件不成立概率大,性能会提升。

因此以上应该用Likely才对,成立的概率大些。

 

3.运算符优先级

    ->优先级大于++  --

    (--p)->a 与--p->a 完全不同

(--p)->a 取p地址前的结构里面的a

--p->a  p指向的结构里面的a进行减一操作

 

 

posted on 2020-05-13 10:21  redman274  阅读(135)  评论(0编辑  收藏  举报