这些宏做什么?

迪博斯科

我继承了一些难以理解且编写不佳的PIC代码以进行修改。这里有两个宏:

#define TopByteInt(v) (*(((unsigned char *)(&v)+1)))
#define BottomByteInt(v) (*((unsigned char *)(&v)))

有谁能够解释他们到底在做什么,这意味着什么?

谢谢 :)

法国
(*((unsigned char *)(&v)))

它将v(16位整数)转换为char(8位),这样做只会得到最低字节。

(*(((unsigned char *)(&v)+1)))

这是相同的,但是它获取v的地址并求和1个字节,因此它仅获取最高字节。

如果v是16位整数,则只能按预期工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

这些字节做什么?

来自分类Dev

这些字节做什么?

来自分类Dev

这些命令是做什么的?

来自分类Dev

这些代码行做什么?

来自分类Dev

ActionScript 3-这些代码做什么?

来自分类Dev

这些CSS代码段是做什么的?

来自分类Dev

这些login命令的参数是做什么的?

来自分类Dev

这些文件是做什么用的?

来自分类Dev

这些行在做什么?(Matlab)

来自分类Dev

这些命令是做什么用的?

来自分类Dev

#运算符在宏中做什么?

来自分类Dev

#运算符在宏中做什么?

来自分类Dev

这些宏参数有什么问题?

来自分类Dev

这些宏参数有什么问题?

来自分类Dev

这些命令是什么意思和做什么?

来自分类Dev

什么是 !!在下面的宏中做什么?

来自分类Dev

这些按位运算在做什么

来自分类Dev

为了构造这些结果,我需要做什么?

来自分类Dev

为了构造这些结果,我需要做什么?

来自分类Dev

这些文件描述符是做什么用的?

来自分类Dev

FORMULA.FILL函数在Excel宏中做什么?

来自分类Dev

X(),Y()和Z()宏在LLVM中做什么?

来自分类Dev

HAVE_PSI_INTERFACE宏是用来做什么的?

来自分类Dev

这些C宏(protos,#x?,__ unused)的含义是什么?

来自分类Dev

这些存储字符串是什么?他们在做什么?

来自分类Dev

这些自定义返回类型在此C#示例中做什么?

来自分类Dev

转换为ctypes,但我不知道这些函数在做什么

来自分类Dev

这些命令(tar)实际上是做什么的?有没有更好的办法?

来自分类Dev

这些IANA IP地址在我的防火墙设置中做什么?