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进行减一操作
奋斗为了更好的生活。