質問は、あなたが32または64にいるかどうかを知ることによって達成しようとしていることは何ですか?仮想の128ビット環境での結果はどうなりますか?そして、実際にNビットのためにどの部分がテストされていますか? CPUは64ビットモードでの実行をサポートしていますが、環境は32ビットです。さらに、環境自体は混在モードであってもよい。 32ビットのユーザー空間を持つ64ビットカーネルを実行することを検討してください(いくつかの古典的なRISC上で実行されます)。そして、ユーザ空間が均一なビット/実行形式でない場合はどうでしょうか?そのため、getconf LONG_BIT
はコンパイル方法にもよりますが、同じ意味で使用する必要はありません。
$ /rt64/usr/bin/getconf LONG_BIT
64
$ /usr/bin/getconf LONG_BIT
32
$ file /usr/bin/getconf /rt64/usr/bin/getconf
/usr/bin/getconf: ELF 32-bit MSB executable, SPARC32PLUS, V8+ Required, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.4, not stripped
/rt64/usr/bin/getconf: ELF 64-bit MSB executable, SPARC V9, relaxed memory ordering, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.4, not stripped
$ uname -m
sparc64
「インストール」と言うときは、カーネルを意味しますか? 32ビットインストールで64ビットカーネルを使用できるためです。 –
はい...カーネル...ありがとうございました – VJS