2013-08-03 19 views
5

Geçtiğimiz günlerde C++ ve derlemeyi öğrenmeye başladım ve IDA'da bir şeyi demonte ettiğimde ve işlevi sahte kodda görüntülediğimde LOBYTE'a rastladım.C++ LOBYTE. Daha fazla bilgi için lütfen?

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

hala düşük sipariş bayt understand.What dont? Birisi bana ne kullandığını ve C++ kullanımının bir örneği hakkında daha fazla şey söyleyebilir mi? HIWORD ve LOWORD birlikte

+0

[Endianess] (http://teaching.idallen.com/cst8281/10w/notes/110_byte_order_endian.html) ile ilişkili olabileceklerini düşünüyorum. Ancak emin değilim. Demek istediğim, Microsoft neden doğru kelimeyi kullanmıyor? – Jocke

+3

Bu soru cevaplandı. Lütfen cevabı işaretleyerek kapatın. Yayınının sol tarafında size yardımcı olan onay kutusunu tıklayın. –

cevap

18

LOBYTE ve HIBYTE , bayt/daha geniş bir kelimeler grubu bir kelime veya bir bayt özünü çıkarmak için kullanılır makrolardır. Örnek olarak, bir sözcük oluşturan iki baytlık 24 FF'a sahip olduğunuzu varsayalım. Programınızda unsigned short ushortvar'da kayıtlı bu değere sahipsiniz. Artık iki bayttan birini HIBYTE(ushortvar) veya LOBYTE(ushortvar) kullanarak da çıkarabilirsiniz. İlk, 0x24'a eşit olacak ve ikincisi 0xff'a eşit olacaktır. LOWORD sırasıyla HIWORD kullanarak sözcüklerden birini ayıklamak için unsigned int ile aynı şeyi yapabilirsiniz.

+0

Anladım, hızlı yanıt için teşekkürler. – Imaginarys

İlgili konular