ILP64
読み:アイエルピーろくじゅうよん
外語:ILP64: int,long,pointer 64bit

 データ型モデルのうち、三種類ある主要な64ビット環境のうちの一つ。
目次

概要
 32ビットのILP32に対し、ポインターint以上の変数を64ビット化したもの。ILP64は、intとlongとポインターが64ビット、という意味である。
 実装例は少なく、殆ど知られていない。

特徴
 LP64と比較し、longだけでなくintも64ビット化されている。
 intとlongのデータ長が同じため、このような実装を想定した32ビット用プログラムの移植性が良いと見込まれる。またポインターをintやlongに代入するような不適切な処理をしているプログラムでも、データ長が同じため問題が顕著化せず、そのまま移植できる。
 逆に、intが32ビットであることを想定したプログラムは書き換えが必要となる。とは言え、32ビット長の普通の変数が無い(shortは16ビットなので、int32_tuint32_tを使わねばならない)という問題もあり、案外と使いにくいモデルでもある。

再検索