C ユーザーズガイド

整数とロング整数のサイズの変更

ILP32 データ型モデルでは実際には整数とロング整数が区別されないため、ほとんどの場合、既存のコードでは区別なしに整数とロング整数が使用されています。整数とロング整数が区別なしに使用されているコードは、修正して ILP32 と LP64 両方のデータ型モデルの条件に準拠するようにしてください。ILP32 データ型モデルでは整数とロング整数はともに 32 ビットですが、LP64 データ型モデルではロング整数は 64 ビットです。次の例を考えてみましょう。


int waiting;
long w_io;
long w_swap;
...
waiting = w_io + w_swap;

%
警告: 64 ビット整数を 32 ビット整数に代入します