7

アプリが 32 ビットまたは 64 ビットのどちらでコンパイルされているかを確認するにはどうすればよいですか?

これは、低レベルのコードをデバッグするのに役立ちます (たとえば、バッファーの操作)。

4

3 に答える 3

19

コンパイル時のチェックには、ARM のデータ型サイズ標準である#ifdeffor の実行が含まれます。__LP64__ランタイム ソリューションには、次のようにポインターのサイズを確認することが含まれます。

if (sizeof(void*) == 4) {
    // Executing in a 32-bit environment
} else if (sizeof(void*) == 8) {
   // Executing in a 64-bit environment
}

ありがたいことに、64 ビット コードをコンパイルするためのさまざまな標準が一致しているように見えるのは、ポインター サイズだけです。

于 2013-09-27T06:25:07.100 に答える
16
#ifdef __LP64__
    NSLog(@"64-bit\t");
#else
    NSLog(@"32-bit\t");
#endif
于 2013-09-27T06:24:33.157 に答える