long
は ILP32 データ型モデルでは 32 ビット、LP64 データ型モデルでは 64 ビットなので、以前は long
として定義されたものが不適切または不要になることがあります。このような場合は、より移植性の高い派生型を使うこともできます。
上述の理由で、LP64 データ型モデルにおいて多くの派生型が変更されている場合があります。たとえば、pid_t
は 32 ビット 環境では long
のままですが、64 ビット 環境では int
です。LP64 コンパイル環境用に変更された派生型のリストについては、付録 A 「派生型の変更」を参照してください。