编译后那个效率高

2019-08-01 14:58发布

编译后那个效率高些
#define INT8U REG_T

INT16U m_data

push_to_buf(*(((REG_T*)&m_data)++));

push_to_buf((REG_T)(m_data<<8));

把m_data,放到一个REG_T的数组内;
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
shimx
1楼-- · 2019-08-03 14:56
大端情况下,push_to_buf(*(((REG_T*)&m_data)++));压入的是低字节,小端情况下,压入的是高字节。
jiajs
2楼-- · 2019-08-03 18:01
如果REG_T是int(16位或32位),push_to_buf(*(((REG_T*)&m_data)++));压入的不是m_data的低字节也不是m_data的高字节,而是与m_data相邻的int。
wyjie
3楼-- · 2019-08-03 22:20
 精彩回答 2  元偷偷看……
jlyuan
4楼-- · 2019-08-04 03:02
我师父喜欢这样写:
push_to_buf((((REG_T*)&m_data)[1]));
dengdc
5楼-- · 2019-08-04 08:08
嗯,知道了,多谢大家,先结贴了
ares_lan
6楼-- · 2019-08-04 11:46
是“哪”个,不是“那”个。:P

一周热门 更多>