現在実行中の Mac OS X システムが 32 ビット マシンか 64 ビット マシンかを判断するにはどうすればよいですか?
3 に答える
1
「64ビットマシン」の意味によって異なります。プロセッサ ファミリに応じて、大きく 3 つのカテゴリがあります。
- 一部の 64 ビット演算をサポート
- X-64 モード (64 ビット アドレッシング) でプログラムを実行できます。
- 64 ビット カーネルをサポート
ここではセンス "2" を意味していると思います。これは、アプリケーション コードに最も関係があるからです。古い PowerPC Mac で実行する必要がない限り、センス "1" について心配する必要はないと思います。
あなたは特にCコードでこれを行うと述べましたが、実際にはあまり意味がありません。C コードをコンパイルしている場合は、32 ビットおよび 64 ビットのバリアントを使用してアプリケーションを「ファット」にビルドするだけでよいため、コンパイル時に次のようにチェックします。
#if _LP64
//64-bit stuff
#else
//32-bit stuff
#endif
于 2009-11-19T17:51:57.067 に答える
0
少しグレッピーですが..
#!/bin/sh
ioreg -l -p IODeviceTree | grep EFI64
if [ $? = 0 ]
then
echo "I am a 64bit machine!"
else
echo "I am a 32bit machine!"
fi
で包まれたNSTask *task = [[NSTask alloc] init]; ...
?
于 2009-11-19T17:20:53.683 に答える
0
sizeof(long) == 4
32 ビット システムでもsizeof(long) == 8
64ビット システムでも、それはかなり確実です。同じことがポインターにも当てはまるはずです。
于 2009-11-18T09:20:36.837 に答える