Каков тип WORD в C?

При переходе через некоторый исходный код я нашел метод в программе на C, который принимает аргументы типов WORD, DWORD и PWORD. Я знаю, что они переводят на неподписанные числа, но почему они называются WORD?

Ответы

Ответ 1

Размер и типы данных Word

Слово - это количество данных, которое машина может обрабатывать за один раз. Это соответствует аналогии документа, которая включает в себя символы (обычно восемь бит) и страницы (многие слова, часто 4 или 8 КБ), как другие измерения данных. Слово представляет собой целое число байтов, например, один, два, четыре или восемь. Когда кто-то говорит о "n-битах" машины, они обычно говорят о размере машинного слова. Например, когда люди говорят, что Pentium представляет собой 32-битный чип, они ссылаются на его размер слова, который составляет 32 бита или четыре байта.

Размер регистров общего назначения процессора (GPR) равен размеру его слова. Ширины компонентов в данной архитектуре, например, шина памяти, как правило, не меньше ширины слова. Как правило, по крайней мере в архитектурах, поддерживаемых Linux, адресное пространство памяти равно размеру слова [2]. Следовательно, размер указателя равен размеру слова. Кроме того, размер типа C long равен размеру слова, тогда как размер типа int иногда меньше размера слова. Например, Alpha имеет размер 64-битного слова. Следовательно, регистры, указатели и длинный тип имеют длину 64 бит. Однако тип int составляет 32 бита. Alpha может обращаться и обрабатывать 64 бита, по одному слову за раз.

Далее читайте: http://www.makelinux.com/books/lkd2/ch19lev1sec2

Ответ 2

WORD в Windows API означает 2 байта.

Первоначально он использовался для обозначения размера указателя (как в CPU с длиной слова 16 бит).
API Windows использовал его в typedefs в (и до) Windows 3.1 (который поддерживал только 16-разрядные машины), поэтому значение больше не может измениться.

Ответ 3

СЛОВА пробуждается из какого-то более старого кода и обычно означает 16 бит, тогда как DWORD обычно означает 32 бита. Если вы не уверены, что вы должны проверить свой код, потому что они должны быть определены где-то.

СЛОВА происходит от машинного слова, размер которого зависит от оборудования.