web-dev-qa-db-ja.com

CでのWordタイプのポイントは何ですか?

いくつかのソースコードを調べると、Word、DWORD、およびPWORD型の引数を取るCプログラムでメソッドが見つかりました。符号なしの数値に変換されることは知っていますが、なぜWORDと呼ばれるのですか?

20
Nealon

ワードサイズとデータタイプ

Wordは、マシンが一度に処理できるデータの量です。これは、他のデータ測定値として文字(通常は8ビット)とページ(多くの単語、多くの場合4または8KB相当)を含むドキュメントの類推に適合します。ワードは、1、2、4、8などの整数バイトです。誰かがマシンの「nビット」について話すとき、彼らは一般的にマシンのWordサイズについて話している。たとえば、人々がPentiumが32ビットチップであると言うとき、彼らは32ビット、または4バイトであるWordサイズを指している。

プロセッサの汎用レジスタ(GPR)のサイズは、Wordのサイズと同じです。たとえば、特定のアーキテクチャのコンポーネントの幅、たとえばメモリバスは、通常、少なくともWordサイズと同じ幅です。通常、少なくともLinuxがサポートするアーキテクチャでは、メモリアドレス空間はWordサイズと同じです[2]。その結果、ポインターのサイズはWordのサイズと等しくなります。さらに、Cのlong型のサイズはWordのサイズと同じですが、int型のサイズはWordのサイズよりも小さい場合があります。たとえば、アルファには64ビットのWordサイズがあります。したがって、レジスタ、ポインター、およびlong型の長さは64ビットです。ただし、int型は32ビット長です。 Alphaは、一度に1ワードずつ64ビットにアクセスして操作できます。

さらに読む: http://www.makelinux.com/books/lkd2/ch19lev1sec2

28
Oscar

Windows APIのWordは2バイトを意味します。

元々は、ポインターサイズを参照するために使用されていました(16ビットのワード長のCPUの場合のように)。
Windows APIは、Windows 3.1(16ビットマシンのみをサポート)に戻って(およびそれ以前に)typedefsで使用したため、意味を変更することはできません。

3
SLaks

Wordはおそらくいくつかの古いコードからのもので、通常は16ビットを意味しますが、DWORDは通常32ビットを意味します。ただし、どこかで定義する必要があるため、コードを確認する必要があります。

Wordは、サイズがハードウェアに依存したマシンWordに由来します。

2
Devolus