開発覚え書き

ソフトウェアシステムの開発に関わるさまざまなことの覚え書き

64ビット環境

2005-07-02 14:39:50 | Weblog
Intel(R) Xeon(TM) CPU 2.80GHz × 2 搭載のマシンが来て、
x86_64のCentOS 4.1をインストールした。
ちなみに Xeon は「ジーオン」と読むらしい。
Xeonはハイパースレッディングのため、smpカーネル(2.6.9-11.ELsmp)では2個分
見え、見かけの上では都合 2 × 2 = 4 個の CPU が動いている。
これで、自分も64ビット環境に初めて触れることになった。

歴史は繰り返す で触れたWebページにあるサンプルプログラムを少し修正して実行したところ、

sizeof(char) = 1
sizeof(short) = 2
sizeof(int) = 4
sizeof(long) = 8
sizeof(void*) = 8
sizeof(void(*)) = 8 /* 関数ポインタ */
sizeof(float) = 4
sizeof(double) = 8
sizeof(long double) = 16

で、データモデルは LP64 となった。(gcc 3.4.3 のデフォルトでコンパイル)
int < long = ポインタ の環境となった。
データのポインタと関数ポインタは同じ大きさ。

何か Java 環境と似た感じになっている。(char は違うし、long double は無いが)