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_tやuint32_tを使わねばならない)という問題もあり、案外と使いにくいモデルでもある。
再検索