2013-08-03 1169 views
5

我最近開始學習C++和程序集,當我在IDA中反彙編某些東西並在僞代碼中查看函數時,我遇到了LOBYTE。C++ LOBYTE。請詳細解釋一下?

閱讀MSDN:http://msdn.microsoft.com/en-us/library/windows/desktop/ms632658(v=vs.85).aspx

我仍然不understand.What是低位字節?有人可以告訴我更多關於它的用法和它在C++中使用的例子嗎?

+0

我認爲可能與[Endianess]有關(http://teaching.idallen.com/cst8281/10w/notes/110_byte_order_endian.html)。但我不確定。我的意思是,爲什麼微軟不會使用正確的詞? – Jocke

+3

回答了這個問題。請標記答案關閉它。點擊幫助你的帖子左側的複選框。 –

回答

18

LOBYTEHIBYTEHIWORDLOWORD一起,是用於從更大的一組字節/字提取的詞或一個字節的宏。

作爲一個例子,假設你有兩個字節24 FF,它們是一個字。您的程序中存儲此值unsigned short ushortvar。現在您可以使用HIBYTE(ushortvar)LOBYTE(ushortvar)來提取兩個字節中的任何一個。第一個將等於0x24,後者將等於0xff。您可以使用unsigned int來分別使用LOWORDHIWORD來提取其中一個單詞。

+0

我明白了,感謝您的及時迴應。 – Imaginarys