_ LPとLLP 教わったのでメモ。 Wikipediaの64ビットがまとまっている。 Linuxは、LP64。LPというのは、LongとPointerが64ビットという意味。 一方、Win64はLLP64。LLPというのは、Long longとPointerが64ビットという意味(Longは32ビット)。 そこで、Linuxであれば、sizeof(long) == sizeof(void*)なのでいい加減なキャストでも問題ないが、Win64だとsizeof(long) < sizeof(void*)なのでいい加減なキャストだと問題がおきる。 ここでのいい加減なキャストというのは、32ビットを前提とした void foo(long l) { strcpy((void*)l, "foobar"); } みたいなもの。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く