C中的WORD类型有什么意义?

Nea*_*lon 21 c dword

在浏览一些源代码时,我在C程序中找到了一个方法,它接受WORD,DWORD和PWORD类型的参数.我知道他们翻译成无符号数字,但为什么他们称为WORD?

Osc*_*car 30

字大小和数据类型

一个词是机器一次可以处理的数据量.这适用于包含字符(通常为8位)和页面(许多单词,通常为4或8KB)的文档类比,作为其他数据测量.字是整数个字节,例如,一个,两个,四个或八个.当有人谈论机器的"n位"时,他们通常会谈论机器的字大小.例如,当人们说奔腾是一个32位芯片时,他们指的是它的字大小,即32位或4个字节.

处理器的通用寄存器(GPR)的大小等于其字大小.给定体系结构中的组件的宽度,例如,存储器总线通常至少与字大小一样宽.通常,至少在Linux支持的体系结构中,内存地址空间等于字大小[2].因此,指针的大小等于字大小.另外,C类型long的大小等于字大小,而int类型的大小有时小于字大小的大小.例如,Alpha具有64位字长.因此,寄存器,指针和long类型的长度为64位.但是,int类型是32位长.Alpha可以一次访问和操作64位,一个字.

进一步阅读:http://www.makelinux.com/books/lkd2/ch19lev1sec2

  • 在汇编中,`word`通常是2个字节.另外我认为,在GDB中,命令`x`,`w`表示4个字节,`h`表示2个字节.似乎不统一. (2认同)