我最近开始学习c ++和汇编,当我在IDA中反汇编并用伪代码查看函数时,我遇到了LOBYTE。
阅读msdn:http://msdn.microsoft.com/en-us/library/windows/desktop/ms632658(v=vs.85).aspx
我还是不明白。什么是低位字节?有人可以告诉我更多关于它的用途以及它在c ++中的用法示例吗?
答案 0 :(得分:18)
LOBYTE
和HIBYTE
以及HIWORD
和LOWORD
是用于从更大的字节/字集中提取字或字节的宏。
举个例子,假设你有两个字节24 FF
,它们就是一个单词。您将此值存储在程序中的unsigned short ushortvar
中。现在,您可以使用HIBYTE(ushortvar)
或LOBYTE(ushortvar)
提取两个字节中的任何一个。第一个将等于0x24
,后者将等于0xff
。您可以使用unsigned int
执行相同操作,分别使用LOWORD
HIWORD
提取其中一个字词。