アプリが 32 ビットまたは 64 ビットのどちらでコンパイルされているかを確認するにはどうすればよいですか?
これは、低レベルのコードをデバッグするのに役立ちます (たとえば、バッファーの操作)。
コンパイル時のチェックには、ARM のデータ型サイズ標準である#ifdef
for の実行が含まれます。__LP64__
ランタイム ソリューションには、次のようにポインターのサイズを確認することが含まれます。
if (sizeof(void*) == 4) {
// Executing in a 32-bit environment
} else if (sizeof(void*) == 8) {
// Executing in a 64-bit environment
}
ありがたいことに、64 ビット コードをコンパイルするためのさまざまな標準が一致しているように見えるのは、ポインター サイズだけです。
#ifdef __LP64__
NSLog(@"64-bit\t");
#else
NSLog(@"32-bit\t");
#endif